vb操作WORD代码:
Dim wrdObject As Word.Application
Dim wrdDoc As Word.Document
Set wrdObject = CreateObject("Word.Application")
Set wrdDoc = wrdObject.Documents.Open("d:/hao/one.doc")
wrdObject.Visible = True
wrdObject.Selection.TypeText "This is some text." '写入文字到word中
wrdDoc.PrintOut
'wrdDoc.ClosePrintPreview '关闭打印预览
wrdDoc.Close '关闭word文档
wrdObject.Quit 'word应用退出
Set wrdDoc = Nothing '释放内存
Set wrdObject = Nothing '释放内存
你的代码里估计没有关闭word文档后就直接退出了,上述代码执行了打印过后就关闭
知道,不过不能直接读取,因为微软没有公布加密方式,所以要调用WORD来读取,然后获取它
先在工程的引用里面加上Microsoft Word 11.0 Object Library
Dim 剪切板文本
Dim Word文字处理系统界面 As Word.Application '建立一个word.application对象
Dim Word文档 As Word.Document
Dim Word文档文本 As Word.Selection '在word文字处理系统中添加一个文档
Set Word文字处理系统界面 = CreateObject("Word.Application") '选择对象
Word文字处理系统界面.Visible = False '不显示word.application,即word文字处理系统界面
Set Word文档 = Word文字处理系统界面.Documents.Open(文件路径)
Set Word文档文本 = Word文字处理系统界面.Selection
Word文档文本.WholeStory
Word文档文本.Copy
剪切板文本 = Clipboard.GetText(vbCFText) '放到text1中
Text1.Text = 剪切板文本
'Clipboard.SetData Temp
Word文档.Close '关闭文档
Word文字处理系统界面.Application.Quit
Set Word文字处理系统界面 = Nothing '清空变量
Set Word文档文本 = Nothing
'完成操作
我通过剪切板来获取文本,因为这样可以保留格式(本人独创)
如果直接获取也是可以的,不过格式全部丢失,所以我的方法会更好一点
Dim WordApp As Word.Application'定义word应用变量
Dim newDoc As Word.Document'定义word文档变量
Set WordApp = CreateObject("Word.Application")'创建新的word应用
WordApp.Visible = True
With WordApp
Set newDoc = .Documents.Add(App.Path & "报告单食品水质报告.Doc")'在创建的word应用中新建一个新的word文档
With .Selection
.GoTo wdGoToBookmark, , , "bh" bh为word文档中的对应位置的标签名
.TypeText PrnBID'写内容
.GoTo wdGoToBookmark, , , "GoodsName" 'GoodsName为word文档中的对应位置的标签名
.TypeText PrnGName'写内容
Set MyRS = Nothing
End With
' newDoc.SaveAs FileName:=FilePath
End With
' If theError = 429 Then WordApp.Quit
Set WordApp = Nothing
在事先做好的word文档中要写内容的位置设定好标签,然后在程序中找到标签,再写入数据
以上是word文档在vb中的打印操作的详细内容。更多信息请关注PHP中文网其他相关文章!