我用VB编了一个程序,程序里有一个按钮,还有一个文本框,想实现的是:
当一按这个按钮,就可以打开一个现成的Word文件,并且在这个Word文件里的指定位置上插入文本框里的文本,
请问该如何写?

解决方案 »

  1.   

    先要引用Microsoft Word 12.0 Object,具体版本看你组的哪个officeDim wApp As Word.Application
    Dim wDoc As Word.DocumentSet wApp = New Word.Application
    Set wDoc = wApp.Documents.Open(cDocName)上面是定义和打开Word文件wDoc.Shapes(i).TextFrame.TextRange.Text = Trim(Text5.Text)
    这个是赋值
    在那个打开的word文档中,我预先加入了许多文本框,上面是给其中某个文本框赋值wDoc.SaveAs tmpName
    wDoc.Close
    wApp.Quit
    Set wApp = Nothing
    这个是另存为和退出
      

  2.   

    谢谢楼上的回复,现在能够实现替换文本框里的内容了,但是还有两个问题:
    1、在我按完command按钮准备打开那个现成的word文件时,总是显示那个word文件已经被锁定,处于只读
    状态,但是,我并没有打开这个word;
    2、word里的每个文本框都有好几行,我想在word第一个文本框里第一行后面写一些内容,
    如何不全赋值,只在第一个文本框第一行后面插入一些内容呢?
    请再帮我一下,谢谢了。
      

  3.   

    第一个问题是你没有正常退出,在任务列表里还有word的进程存在第二个问题没看懂
      

  4.   

    第二个问题是那个现成的Word里好几个文本框,就拿第一个文本框来说,第一个文本框共有两行文本,我想在第一个文本框的第一行文本后面插入VB程序里text中的内容,你说的方法是整个一个文本框都全变成了text里的内容,这个该怎么办啊?
      

  5.   

    你赋值的时候把原来的内容也加进去不就行了
    wDoc.Shapes(i).TextFrame.TextRange.Text = wDoc.Shapes(i).TextFrame.TextRange.Text + Trim(Text5.Text)
      

  6.   

    把原来的内容加进去之后也不行,主要是这样的:
    我的word里的一个文本框里共有两行,格式是这样的
    名称:
    日期:
    我想在仍保持两行不变的情况下在第一行"名称:"后面插入text5的内容
    你说的把原来的内容加进去这个办法行不通啊。
    请帮帮忙,还有什么办法没?
      

  7.   

    还得请教一个问题,就是在打开word后,在保存时能不能让它弹出一个另存的对话框,也就是可以自己选择路径保存,该怎么改下代码呢?
      

  8.   

    代码中的这句 wDoc.SaveAs tmpName就已经固定了保存的路径,我想在保存时可以弹出一个另存的对话框,
    该怎么实现啊?