vb.net操作Word中书签的问题

myriceme 2011-02-17 05:39:45
我想对word中有书签的位置插入文本,但不知道用什么命令,以下是我的代码:

Imports Microsoft.Office.Core
Imports Microsoft.Office.Interop

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim wordApp As New Word.Application
Dim wordDoc As New Word.Document
wordDoc = wordApp.Documents.Open(My.Application.Info.DirectoryPath() & "\a.doc")

If Err.Number = 462 Then
wordApp = CreateObject("Word.Application") '建立WORD实例
wordDoc = wordApp.Documents.Open(My.Application.Info.DirectoryPath() & "\a.doc") '打开文件并赋予文件实例
End If

wordDoc.Close() '关闭文档实例
wordApp.Quit()
wordDoc = Nothing
wordApp = Nothing
End Sub
...全文
357 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
myriceme 2011-02-18
  • 打赏
  • 举报
回复
在标签处插入文本是成功了可是插入的位置却不对,代码如下:

Imports Microsoft.Office.Core
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Word.WdGoToItem
Imports Microsoft.Office.Interop.Word.WdGoToDirection

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim wordApp As New Word.Application
Dim wordDoc As New Word.Document
'wordDoc = wordApp.Documents.Open(My.Application.Info.DirectoryPath() & "\a.doc")
wordDoc = wordApp.Documents.Open("d:\a.doc")
If Err.Number = 462 Then
wordApp = CreateObject("Word.Application") '建立WORD实例
'wordDoc = wordApp.Documents.Open(My.Application.Info.DirectoryPath() & "\a.doc") '打开文件并赋予文件实例
wordDoc = wordApp.Documents.Open("d:\a.doc")
End If


'wordApp.Selection.GoTo("wdGoToBookmark", "wdGoToNext", [nothing], "a")
wordApp.Selection.GoTo(What:=wdGoToBookmark, Which:=wdGoToAbsolute, Name:="a")
wordApp.Selection.TypeText(Text:="Hello")
wordApp.Selection.GoTo(What:=wdGoToBookmark, Which:=wdGoToAbsolute, Name:="b")
wordApp.Selection.TypeText(Text:="hello")

wordDoc.Close() '关闭文档实例
wordApp.Quit()
wordDoc = Nothing
wordApp = Nothing
End Sub
End Class


问题1:我的第一个标签“a”在word文档的第三行插入文本时却插在文档的第一行;
问题2:程序在第一个标签“a”处插入文本后运行下面一行程序时发生错误告诉我找不到第二个标签“b”;
myriceme 2011-02-18
  • 打赏
  • 举报
回复
我的word文档中的标签是固定的就3个:
a1
b1
c1

能不能用下面这种方式来给标签处添加文本:
先GOTO到这个标签,然后用Selection.TypeText Text:="Hello"给标签处赋值,有几个标签就循环几次。

我用了如下语句可是不对:
wordApp.Selection.GoTo("wdGoToBookmark", "wdGoToNext", , "a1")
wordApp.Selection.TypeText(Text:="aaa")

wordApp.Selection.GoTo("wdGoToBookmark", "wdGoToNext", , "b1")
wordApp.Selection.TypeText(Text:="bbb")

wordApp.Selection.GoTo("wdGoToBookmark", "wdGoToNext", , "c1")
wordApp.Selection.TypeText(Text:="ccc")

谢谢。
wuyq11 2011-02-17
  • 打赏
  • 举报
回复
If Doc.Bookmarks.Exists("a") Then
Dim b As Object = "a"
Dim bk As Word.Bookmark = Doc.Bookmarks.Item(b)
Dim [Nothing] As [Object] = System.Reflection.Missing.Value
//bk.Range.Text
Dim table As Word.Table = WordDoc.Tables.Add(bk.Range, 1, 1, [Nothing], [Nothing])
End If

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧