winforms System.NullReferenceException:'对象指涉未设定为对象的执行严修,当使用Word文件透过C#编辑时

mzmfm0qo  于 2022-11-17  发布在  C#
关注(0)|答案(1)|浏览(147)

我试图用C#做一个Word文档编辑器,主要思想是改变Word文档中的某些字段。例如,用我在Windows窗体字段中键入的实际名称替换单词name。把它想象成一个证书生成器。我只需要改变日期和名称。
但我一直收到一个错误,其中对象引用没有设置为对象的示例。
我得到的错误在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;

    }
  }
}

我完全肯定我有正确的路线的字文件,我也插入了书签必要的地方,我想取代的话。

uqdfh47h

uqdfh47h1#

你确定

Application.StartupPath + @"C:\document.docx";

会产生预期的路径吗?

"C:\path\to\application\C:\document.docx"

据我所知,““甚至不是文件夹名称的公认字符。

相关问题