我試圖在 c# 中做一個 Word 檔案編輯器,其主要思想是更改 Word 檔案中的某些欄位。例如,將單詞 name替換為我在 Windows 表單欄位中鍵入的實際名稱。將其視為證書生成器。我只需要更改日期和名稱。
但是我不斷收到一個錯誤,其中物件參考未設定為物件的實體。
我得到的錯誤是 Word.Range nom = ObjDoc.Bookmarks.get_Item(ref name1).Range;
這是完整的代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Word = Microsoft.Office.Interop.Word;
namespace WindowsFormsApp5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
object ObjMiss = System.Reflection.Missing.Value;
Word.Application ObjWord = new Word.Application();
string route = Application.StartupPath @"C:\document.docx";
object parametro = route;
object name1 = "name";
object telephone1 = "telephone";
Word.Document ObjDoc = ObjWord.Documents.Open(parametro , ObjMiss);
Word.Range nom = ObjDoc.Bookmarks.get_Item(ref name1).Range;
nam.Text = textBox1.Text;
Word.Range tel = ObjDoc.Bookmarks.get_Item(ref telephone1).Range;
tel.Text = textBox2.Text;
object rango1 = nam;
object range2 = tel;
ObjDoc.Bookmarks.Add("name", ref range1);
ObjDoc.Bookmarks.Add("telephone", ref range2);
ObjWord.Visible = true;
}
}
}
我完全確定我有正確的 word 檔案路徑,我還在我想要替換單詞的地方插入了必要的書簽。
uj5u.com熱心網友回復:
你確定嗎
Application.StartupPath @"C:\document.docx";
產生預期的路徑?會是這樣的
"C:\path\to\application\C:\document.docx"
據我所知,“ : ”甚至不是檔案夾名稱的可接受字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/506796.html
