我正在使用Office加載項。我陷入了一個問題。我想使用c#和VSTO將Word文檔作爲鏈接對象添加到另一個Word文檔中。我深入挖掘,發現爲此目的,我必須使用「INCLUDETEXT」字段。在VSTO中,InsertFile函數具有一個名爲「Link」的參數,如果此參數設置爲true那麼將指定的word文檔作爲鏈接對象插入。Selection.InsertFile C#錯誤
這是我的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using Microsoft.Office.Interop.Word;
using System.Windows.Forms;
using System.Drawing;
namespace WordAddIn1
{
public partial class MyRibbon
{
string txt = "";
bool hhh = false;
string file_name = "";
string file_path = "";
DataObject o;
string cmp="";
private void MyRibbon_Load(object sender, RibbonUIEventArgs e)
{
checkBox1.Checked = false;
o = (DataObject)Clipboard.GetDataObject();
}
private void checkBox1_Click(object sender, RibbonControlEventArgs e)
{
if (checkBox1.Checked == true && (o.ContainsText()||o.ContainsImage()))
{
txt = Globals.ThisAddIn.Application.Selection.Text.Trim();
file_name = Globals.ThisAddIn.Application.ActiveDocument.Name;
file_path = Globals.ThisAddIn.Application.ActiveDocument.Path;
cmp = file_path + "\\" + file_name;
hhh = txt.Length > 0;
if (hhh)
{
Console.Beep();
}
}
else
{
if (o.ContainsText() || o.ContainsImage())
{
string FileName = "C:\\final.docx";
object range = "hashim";
object ConfirmConversions = false;
object Link = true;
object Attachment = false;
Globals.ThisAddIn.Application.Selection.InsertFile(FileName, range,ConfirmConversions ,Link, Attachment);
Form1 frm = new Form1(file_name.ToString(),file_path.ToString());
frm.Show();
}
}
}
}
}
線
Globals.ThisAddIn.Application.Selection.InsertFile(文件名,範圍,ConfirmConversions,鏈接,附件);
不顯示或編譯過程中,但是當我用我的外接辦公室它給在這一行錯誤,說「命令失敗」
下面是錯誤截圖
編輯器中的任何錯誤這是錯誤
的堆棧跟蹤但是,當我簡單地使用這一行時,它不會給出錯誤,並且插入的文件不會作爲鏈接的對象。
Globals.ThisAddIn.Application.Selection.InsertFile(文件名)
問題出在哪裏?另外告訴我,如果你有更好的主意將鏈接對象(Word文檔)插入到其他文檔。 ?
要插入的文檔是否包含名爲「hashim」的書籤? –
@DirkVollmar是它包含 –
您是否能夠手動成功插入INCLUDETEXT字段?在* Insert *選項卡上選擇* Quick Parts *> * Fields ... *,然後選擇左側的INCLUDETEXT,然後單擊* Field Codes *按鈕。然後輸入'INCLUDETEXT「C:\\ final.docx」hashim'作爲字段代碼。如果文件或書籤名稱存在問題,則可能會得到比COMException中的更好的錯誤消息。 –