vb读取word
如何在ExcelVBA中读写word文档步骤
如何在ExcelVBA中读写word文档步骤如何在Excel VBA 中读写word文档步骤分类: VBA 2012-12-06 18:48 112人阅读评论(0) 收藏举报excelExcelEXCELfile is openedvbaVBAWordWORDword1. 库的配置在默认情况下,新创建的excel vba中不支持定义word对象。
所以需要先引入word库,操作步骤如下:1.1 打开excel vba 界面1.2 选中其中的一个Module1.3 选择菜单, Tools --> References在打开的对话框中选择类似"Microsoft Word 14.0 Object Library".1.4 点击OK保存配置。
2. 打开文档Set wordApplication = CreateObject("Word.Application")wordApplication.Visible = FalseDim hasOpenDoc As BooleanhasOpenDoc = IsOpen(filePath) ' is a self-defined function to check file is opendIf hasOpenDoc = True thenSet wordDoc = GetObject(filePath)End ifIf hasOpenDoc = False ThenSet wordDoc = wordApplication.Documents.Open(filePath) End ifwordDoc.ActiveWith wordApplicationDim aParagraph As Word.ParagraphFor Each aParagraph In wordDoc.Paragraphs' do some thing to every paragraph.Next aParagraphEnd withwordDoc.CloseSet wordDoc = nothing' 如下这段代码引用某位牛人的,非常感谢他。
vb操作word全
End WithEnd WithnewDoc.SaveAs filePathnewDoc.CloseEnd Function2、VB程序操作word表格(文字、图片)很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google、baidu搜爆了,都没有找到我需要的东西。
到是搜索到了很多问这个问题的记录。
没办法,索性只有自己去尝试了。
下面把一些代码发上来,给需要的朋友一点提示。
打开一个已经存在的wrod文件(这个文件包含了表格)Dim WordAppDim WordSet WordApp = CreateObject("Word.Application")WordApp.Visible = TrueSet Word = WordApp.Documents.Open("c:\record.dot")知道了就很简单了,下面是选定某一个表格的一个单元格,并修改其内容Word.Tables(1).cell(1, 2)="内容"VBA中的这些数组元素下标都是从1开始的,比如excel的第一行一列也是ExSheet.Cells(1,1),而不是ExSheet.Cells(0,0),WORD的表格也是这样,不信自己试一下就知道了。
所以上面那句话的意思就是对整个word 文档中的第一个表格的第一行第二列的内容改变为“内容”。
很简单吧?网上有些人在问是不是Word.Tables(1).cell(1, 2).range.text或者Word.Tables(1).cell(1, 2).text。
试一下就发现这2种都不对。
(完整word版)vb读取txt文件
vb读取txt文件1.怎么通过代码创建一个文本文件,并读取,更新内容以上为随即方式打开的文本文件dim gfilenum as integergfilenum = FreeFileOpen "文件路径及文件名” For Random As gfilenum len=3\'以随即方式打开一文件如果文件不存在就新建用get #gfilenum ,记录在文件中位置,要放取得的数据的变量\’读取操作用put #gfilenum ,记录在文件中位置,要放着要写入数据的变量\’写操作close #filenum\'关闭文件以下为顺序方式打开的文件dim gfilenum as integergfilenum = FreeFileOpen "文件路径及文件名” For output As gfilenum \’以写入方式打开文本print #gfilenum,要写入的文本write #filenum,要写入的文本dim gfilenum as integergfilenum = FreeFileOpen "文件路径及文件名" For input As gfilenum \'以读出方式打开文本input #gfilenum ,用来放读取的内容的内存变量名还可用line input#,input()等读取更详细的查msdn2.VB读取文本文件时,调用TextStream 对象中使用OpenTextFile报错了。
如果是Set f = fs。
OpenTextFile("E:\\table\\trace.txt”, forreading, True,TristateUseDefault)出现错误:Run-time error \'5\':Invalid procedure call or argument如果是Set f = fs.OpenTextFile("E:\\table\\trace。
转贴VB 读写文本文档
转贴VB 读写文本文档VB读写文件要用到以下语句:1、Open语句打开文件。
2、读文件使用Line Input、Input #,(以上为文本方式)和Get(以上为二进制方式)。
3、写文件使用Print #、Write(以上为文本方式)和Put(以上为二进制方式)。
4、Close语句关闭文件5、二进制方式下移动文件位置使用Seek语句。
所有这些语句在VB的帮助中都有详细说明和例子。
文本文件的示例:Open "TESTFILE" For Output As #1 ' 打开输出文件。
Print #1, "This is a test" ' 将文本数据写入文件。
Print #1, ' 将空白行写入文件。
Print #1, "Zone 1";Tab ;"Zone 2" ' 数据写入两个区(print zones)。
Print #1, "Hello" ;" " ;"World" ' 以空格隔开两个字符串。
Print #1, Spc(5) ;"5 leading spaces " ' 在字符串之前写入五个空格。
Print #1, Tab(10) ;"Hello" ' 将数据写在第十列。
' 赋值Boolean、Date、Null 及Error 等。
Dim MyBool, MyDate, MyNull, MyErrorMyBool = False : MyDate = #February 12, 1969# : MyNull = NullMyError = CVErr(32767)' True、False、Null 及Error 会根据系统的地区设置自动转换格式。
' 日期将以标准的短式日期的格式显示。
用VB操作word方法.docx
1.'先引用Microsoft Word 11.0 Object Library2.Option Explicit3.4.Dim WordApp As Word.Application '创建Word应用程序5.6.Private Sub Command1_Click()7.Dim i As Long8.On Error GoTo Errhandler9. CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"10. CommonDialog1.FilterIndex = 111. CommonDialog1.ShowOpen12.Set WordApp = New Word.Application '实例化13. WordApp.Documents.Open CommonDialog1.FileName '打开Word文件14. WordApp.Visible = True'显示 Office Word 界面15.'或者Application.Visible = True16. WordApp.DisplayAlerts = False'不提示保存对话框17.18.'返回段落文字,返回的段落文字在文本框控件中19. Text1.Text = ""20.For i = 1 To ActiveDocument.Paragraphs.Count21. Text1.Text = Text1.Text & (ActiveDocument.Paragraphs(i).Range.Text &vbCrLf & vbCrLf)22.Next23.24.'控制分页25. WordApp.Selection.EndKey unit:=wdStory '将光标移到文档末尾26. WordApp.Selection.InsertBreak wdPageBreak '在文档末尾插入一页27.28.'设置图片格式的页眉29.If ActiveWindow.View.SplitSpecial <> wdPaneNone Then30. ActiveWindow.Panes(2).Close31.End If32.If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow.ActivePane.View.Type = wdOutlineView Then33. ActiveWindow.ActivePane.View.Type = wdPrintView34.End If35. ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader36. Selection.InlineShapes.AddPicture FileName:="F:\资料\My Pictures\2013年元旦.gif", LinkToFile:=False, SaveWithDocument:=True'加载一图片文件作为页眉37. Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft38. ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument39.40.'设置文本格式的页眉41.If ActiveWindow.View.SplitSpecial <> wdPaneNone Then42. ActiveWindow.Panes(2).Close43.End If44.If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow.ActivePane.View.Type = wdOutlineView Then45. ActiveWindow.ActivePane.View.Type = wdPrintView46.End If47. ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader48. Selection.TypeText Text:="办公室常用工具"49. ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument50.51.'隐藏页眉的横线52. WordApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Borders(wdBorderBottom).Visible = False53.54.'取得页眉的内容55. Debug.Print WordApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Range.Text '获取WORD第一节的页眉的文字内容56.57.58.'设置页脚59.If ActiveWindow.View.SplitSpecial <> wdPaneNone Then60. ActiveWindow.Panes(2).Close61.End If62.If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow.ActivePane.View.Type = wdOutlineView Then63. ActiveWindow.ActivePane.View.Type = wdPrintView64.End If65. ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader66.If Selection.HeaderFooter.IsHeader = True Then67. ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter68.Else69. ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader70.End If71. Selection.TypeText Text:="2013年"'设置页脚72. Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldNumPages73. ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument74.75. ActiveDocument.SaveAs "c:\MyWord.doc"'保存最后生成的word文档76.77.Errhandler:78.Exit Sub79.End Sub80.81.Private Sub Form_Unload(Cancel As Integer)82.On Error Resume Next83. WordApp.Quit84.Set WordApp = Nothing85.End Sub效果图如下:2、控制Word文档中的文本框对象[vb] view plaincopy1.'先引用Microsoft Word 11.0 Object Library2.Option Explicit3.4.Dim WordApp As Word.Application '创建Word应用程序5.6.Private Sub Command1_Click()7.On Error GoTo Errhandler8. CommonDialog1.Filter = "MS Office Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"9. CommonDialog1.FilterIndex = 110. CommonDialog1.ShowOpen11.Set WordApp = New Word.Application '实例化12. WordApp.Documents.Open CommonDialog1.FileName '打开Word文件13.If Documents.Count >= 1 Then14. Text1.Text = "打开的Word文件是:" & & vbCrLf & vbCrLf15.End If16. WordApp.Visible = True'显示 Office Word 界面17.'或者Application.Visible = True18. WordApp.DisplayAlerts = False'不提示保存对话框19.20. WordApp.Selection.EndKey unit:=wdStory '将光标移到文档末尾21. WordApp.Selection.Font.Bold = 122. = "黑体"23. WordApp.Selection.Font.Size = 1824. WordApp.Selection.TypeText Text:="在Word文件中插入文本框对象"25. WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter '居中显示26.27.'创建文本框对象,座标(100,100),宽度200,高度20028.With ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 400, 300).Fill29.'.Transparency = 1 '设置透明色30. .ForeColor = vbRed '设置前景颜色31. .UserPicture ("F:\资料\My Pictures\758254_960x1000_0.jpg") '设置文本框对象的背景图片32.End With33. ActiveDocument.Shapes(1).TextFrame.TextRange.Text = "这是一个美女"'给文本框赋值34.'ActiveDocument.Shapes(1).Line.Transparency = 1 '设置透明边框线条35.36.'再创建一个透明背景的文本框对象37.With ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 400, 400, 300).Fill38. .Transparency = 1 '设置透明色背景39. .ForeColor = vbRed '设置前景颜色40.End With41. ActiveDocument.Shapes(2).TextFrame.TextRange.Text = "这是一个透明背景的文本框"'给文本框赋值42.'ActiveDocument.Shapes(2).Line.Transparency = 1 '设置透明边框线条43.44.'下面是获取文本框对象的内容45.Dim i As Long46.For i = 1 To ActiveDocument.Shapes.Count47. Text1.Text = Text1.Text & ("第" & i & "个文本框的内容:" & ActiveDocument.Shapes(i).TextFrame.TextRange.Text & vbCrLf)48.Next49.50. ActiveDocument.SaveAs "c:\MyWord.doc"'保存最后生成的word文档51.52.Errhandler:53.Exit Sub54.End Sub55.56.Private Sub Form_Unload(Cancel As Integer)57.On Error Resume Next58. WordApp.Quit59.Set WordApp = Nothing60.End Sub效果图如下:3、在Word文档中设置Excel风格的页码[vb] view plaincopy1.'先引用Microsoft Word 11.0 Object Library2.Option Explicit3.4.Dim WordApp As Word.Application '创建Word应用程序5.Dim WordDoc As Word.Document '创建Word文档对象6.7.Private Sub Command1_Click()8.Dim i As Long9.On Error GoTo Errhandler10. CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"11. CommonDialog1.FilterIndex = 112. CommonDialog1.ShowOpen13.Set WordApp = New Word.Application '实例化14.Set WordDoc = WordApp.Documents.Open(CommonDialog1.FileName) '选择并打开Word文件15. WordApp.Visible = True'显示 Office Word 界面16.'或者Application.Visible = True17. WordApp.DisplayAlerts = False'不提示保存对话框18.19.'设置Word文档第一页页码20.Dim WordRange As Range21.Set WordRange = WordApp.ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range22.23.With WordRange24. .InsertAfter "第"25. .Font.Size = 1426. .Collapse Direction:=wdCollapseEnd27.28.'插入页码域29. .Fields.Add Range:=WordRange, Type:=wdFieldEmpty, Text:="PAGE \* Arabic ", PreserveFormatting:=True30. .Expand unit:=wdWord31. .InsertAfter "页 "32.33. .InsertAfter "共"34. .Collapse Direction:=wdCollapseEnd35.36.'插入页数域37. .Fields.Add Range:=WordRange, Type:=wdFieldEmpty, Text:="NUMPAGES \* Arabic ", PreserveFormatting:=True38. .Expand unit:=wdWord39. .InsertAfter "页"40.41. .InsertAfter "【我的Word文件作者:ChenJL1031(东方之珠)】"42. .ParagraphFormat.Alignment = wdAlignParagraphRight '右对齐43.End With44.45.'Text1.Text = WordApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Range.Text46.47.Set WordRange = Nothing48. ActiveDocument.SaveAs "c:\MyWord.doc"'保存最后生成的word文档49.50.Errhandler:51.Exit Sub52.End Sub53.54.Private Sub Form_Unload(Cancel As Integer)55.On Error Resume Next56. WordApp.Quit57.Set WordApp = Nothing58.End Sub效果图如下:。
VB轻松控制Word
VB轻松控制Word今天,我们将制作一个能够控制Word文件的建立和打开的应用程序。
我们可以在文本框中输入文件名,单击“新建”按钮即可新建一个Word文档,或者打开一个Word历史记录文件。
程序运行结果如图1所示。
图1 运行结果技术要点●添加Word库引用●建立Word对象●读取Word历史记录文件实现过程■新建项目打开Visual ,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“ControlWord”,然后选择保存路径。
单击“确认”。
■添加引用和控件选择菜单“项目|添加引用”,在弹出的“添加引用”对话框中选择COM选项卡,选中“Microsoft Word 10.0 Object Library”,单击“选择”按钮,即可将Word库加入到当前项目中。
添加时的界面如图2所示。
然后,给窗体上添加两个Label控件和两个Button控件,一个TextBox控件和一个ComboBox控件。
图2 添加Word引用■设置属性对窗体上的控件设置属性,如表所示。
窗体及控件的属性值窗体/控件属性值Form1 Text 轻松控制WordTextBox1 Text 空ComboBox Text 空Button1 Text 新建■添加代码Public Sub New()MyBase.New()'程序启动时,添加Word历史记录文件'This call is required by the Windows Form Designer.InitializeComponent()Dim i As ShortDim tempword As New Word.Application()For i = 1 To tempword.RecentFiles.CountComboBox1.Items.Add(tempword.RecentFiles.Item(i).Name)Next'ComboBox1.Text = ComboBox1.Items.IndexOf(ComboBox1).ToString'combobox1.Items.GetTytempword.Quit()'Add any initialization after the InitializeComponent() callEnd Sub'打开word文件Private Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.ClickDim b As New Word.Application()b.Documents.Open(ComboBox1.Text)b.Visible = TrueEnd Sub'新建word文件Private Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.ClickDim word As New Word.Application()word.NewDocument.Add(TextBox1.Text)word.Visible = TrueEnd Sub■运行程序单击菜单“调试|启动”或单击图标运行程序。
VB操作WORD详解
VB操作WORD详解VB操作Word是一种常见的编程任务,可以用来自动化创建、修改和格式化Word文档。
VB是Visual Basic的简称,是一种简单易学的编程语言,广泛应用于Windows平台上的开发工作。
下面将详细介绍如何使用VB操作Word。
一、引用和初始化Word对象模型在使用VB操作Word之前,需要先引用Word对象模型。
在VB的项目中,点击“项目”菜单,选择“引用”,在弹出的对话框中找到并勾选“Microsoft Word xx.0 Object Library”(这里的xx表示Word的版本号),点击“确定”进行引用。
在VB中操作Word,首先要创建一个Word.Application对象,用来表示Word应用程序实例,在这个实例上进行后续的操作。
可以使用如下代码创建Word应用程序实例:Dim wdApp As Word.ApplicationSet wdApp = New Word.Application二、打开、创建和保存Word文档1. 打开现有的Word文档可以使用如下代码打开一个现有的Word文档:Dim wdDoc As Word.DocumentSet wdDoc = wdApp.Documents.Open("C:\path\to\your\file.docx")2. 创建新的Word文档可以使用如下代码创建一个新的Word文档:Dim wdDoc As Word.DocumentSet wdDoc = wdApp.Documents.Add3. 保存Word文档可以使用如下代码保存一个Word文档:wdDoc.SaveAs "C:\path\to\save\your\file.docx"三、操作Word文档内容1.读取和写入文本内容可以使用如下代码读取和写入文本内容:Dim strText As StringstrText = wdDoc.Range.Text '读取文档内容到字符串变量wdDoc.Range.Text = "Hello, World!" '向文档中写入文本内容2.插入和删除文本内容可以使用如下代码插入和删除文本内容:wdDoc.Range.InsertBefore "Insert Before" '在光标位置之前插入文本wdDoc.Range.InsertAfter "Insert After" '在光标位置之后插入文本wdDoc.Range.Delete '删除光标当前所在位置的文本3.格式化文本内容可以使用如下代码格式化文本内容,如设置字体、大小、颜色等: = "Arial" '设置字体为ArialwdDoc.Range.Font.Size = 12 '设置字体大小为12wdDoc.Range.Font.Color = RGB(255, 0, 0) '设置字体颜色为红色四、操作Word文档样式和格式1.设置段落样式可以使用如下代码设置段落的样式,如对齐方式、缩进等:wdDoc.Range.Paragraphs.Alignment = wdAlignParagraphCenter '设置居中对齐wdDoc.Range.Paragraphs.LeftIndent = 36 '设置左缩进为0.5英寸2.设置页面样式可以使用如下代码设置页面的样式,如边距、纸张大小等:wdDoc.PageSetup.TopMargin = 72 '设置页边距上为1英寸wdDoc.PageSetup.PaperSize = wdPaperA4 '设置纸张大小为A43.插入表格可以使用如下代码插入一个表格到Word文档:Dim wdTable As Word.TableSet wdTable = wdDoc.Tables.Add(wdDoc.Range, 3, 3) '添加3行3列的表格4.格式化表格可以使用如下代码格式化表格,如设置边框、背景颜色等:wdTable.Borders.InsideLineStyle = wdLineStyleSingle '设置内部边框为实线wdTable.Borders.OutsideLineStyle = wdLineStyleDouble '设置外部边框为双线wdTable.Rows(1).Cells(1).Shading.BackgroundPatternColor = RGB(255, 0, 0) '设置第一行第一列的背景颜色为红色五、关闭Word应用程序使用完Word应用程序后,需要关闭它以释放系统资源。
VB操作word总结
请耐心看完:问题出现得较复杂。
我的目的:将多个文档内容逐一拷贝粘贴到另一文档后面我的方法:wordapp=new word.applicationSet doc = wordapp.Documents.AddwhilepathTemp = App.Path & "\temp.doc"LoadFile rs("word"), pathTempSet doctemp = wordapp.Documents.Open(pathTemp)doctemp.Content.Selectwordapp.Selection.copySet myRange = doc.Range(Start:=doc.Content.End - 1, En d:=doc.Content.End)myRange.Select' wordapp.Selection.deletewordapp.Selection.InsertParagraphBeforewordapp.Selection.Collapse wdCollapseEndwordapp.Selection.pasteClipboard.Cleardoctemp.Close wdDoNotSaveChangesdoc.SaveAs App.Path & "\papertemp.doc"如果我的文档(待拷贝的文档,这些文档都是从数据库中读出来的,存在pathTemp文件中)都较小的话,我的程序可以顺利完成任务,如果其中一个文档较大,那么问题出现了,但是问题不是马上出现,该文档的内容能顺利从数据库下载到文件pathTemp中,也能打开到doctemp中,复制粘贴到doc中也没有问题,但是关闭doctemp时却发现隐藏的~$temp.doc并没有消失(意味着doctemp并没有关闭?),接着我把下一个文档从数据库读出放到doctemp中也能完成,temp.doc中内容正确,但是当我用Set doctemp = wordapp.Documents.Open(pathTemp)打开时却出现了问题,运行时错误‘5121’文档的名称或路径无效,请使用如下建议:....手动打开temp.doc也出现同样的错误,但是当我关掉doc(即papertemp.doc)时,打开temp.doc却是正常,而且里面数据也正常请高手指教,愿送所有分问题点数:100、回复次数:8Top1 楼faysky2(出来混,迟早是要还嘀)回复于2005-10-26 01:19:45 得分4是着释放doctemp 看看:....Clipboard.Cleardoctemp.Close wdDoNotSaveChangesdoc.SaveAs App.Path & "\papertemp.doc"Set doctemp=Nothing'--->释放掉doctempTop2 楼hapluo(言先必行,多说无益)回复于2005-10-26 20:49:54 得分0还是不行,哪位高手帮我解决,另送200分Top3 楼hapluo(言先必行,多说无益)回复于2005-10-26 20:56:53 得分0这个号所有分相送,这个号就剩500分了,数来帮我啊,分不够我另外一个号还可再加!Top4 楼hapluo(言先必行,多说无益)回复于2005-10-26 21:28:55 得分0help,Top5 楼mylord()回复于2005-10-26 21:55:46 得分2正在学习中...Top6 楼northwolves(狼行天下)回复于2005-10-26 23:46:20 得分90何必打开,直接合并不行? 试试:Private Sub Command1_Click()Dim wordapp As New Word.application, doc As New Document, pathtemp As StringSet doc = wordapp.Documents.Open(App.Path & "\papertemp.doc")doc.Content.SelectDo While Not rs.EOFpathtemp = App.Path & "\temp.doc"LoadFile rs("word"), pathtemp'你写的过程吧With wordapp.selection.InsertFile FileName:=pathtemp, ConfirmConversions:=False.InsertParagraphAfter.InsertBreak Type:=wdSectionBreakNextPage.Collapse Direction:=wdCollapseEndEnd WithKill pathtemprs.movenextLoopdoc.SaveEnd IfTop7 楼faysky2(出来混,迟早是要还嘀)回复于2005-10-26 23:48:40 得分4把doc也关掉试试:.....Clipboard.Cleardoctemp.Close wdDoNotSaveChangesdoc.SaveAs App.Path & "\papertemp.doc"doctemp.Quitdoc.QuitSet doc=Nothing Top8 楼hapluo(言先必行,多说无益)回复于2005-10-27 00:57:23 得分0northwolves(狼行天下) ,非常感谢,虽然没有问题之所在,但是绕开了问题相当于解决了问题,再次感谢!有什么办法可以把分一下相送,以示感激之情?除了多开几贴还有其他办法嘛?vb控制word的类模块,查找、替换Word文档内容在VB6.0中,操作word,使用它强大的查找、替换、删除、复制、翦切功能。
用VB同时读取记事本和Word文档的实现
用VB同时读取记事本和Word文档的实现VB编程,功能强大。
今天,我们共同来学习用VB编程读取记事本和Word文档内容。
用到的VB知识主要有控件的应用、文件的读写操作。
VB读取记事本和Word文档运行图程序实现过程1、首先添加控件,如下图2、读取记事本文件代码实现•••••••••Private Sub Command1_Click() '读取记事本文件内容Dim content As StringOpen App.Path & '\test.txt' For Input As #1 '读取文件语句Do While Not EOF(1)Line Input #1, content '按行读取文件内容List1.AddItem content LoopClose #1End Sub3、读取Word文档内容实现••••••Private Sub Command2_Click() '读取Word文档内容Dim wordDoc As Object Set wordDoc = GetObject(App.Path & '\test.doc') Text1 = wordDoc.content.Text Set wordDoc = NothingEnd Sub最后,点击运行按钮,即可完成读取文档内容功能。
程序实现相关知识顺序文件读写打开文件Open “文件名” For 模式 As [#]文件号OutPut(写):新建或打开一个文件,进行写操作。
文件若存在,则打开,写入信息覆盖原有信息;文件若不存在,则新建。
Input (读) :打开一个文件,进行读操作。
文件必须存在,否则出错。
Append(追加):新建或打开一个文件,进行写操作。
文件若存在,则打开,写入信息追加在原有信息之后;文件若不存在,则新建。
[实例] 如果要打开“C:\USER”目录下一个文件名为“SCORE.TXT”的文件,对它写数据,指定文件号为#1,命令为代码怎么写呢?写操作写文件Print # 文件号,[输出列表]Write # 文件号,[输出列表]Write命令的功能和Print相同,区别在于Write命令是以紧凑格式输出,在数据项之间自动添加“,”分隔符,并给字符型的数据加上双引号。
使用VB编程读写WORD表格中数据一例-最新资料
使用VB编程读写WORD表格中数据一例-最新资料使用VB编程读写WORD表格中数据一例Uses VB to Program in the Read-write WORD form a Data ExampleWANG Li-tao(Changchun Measures Examination test Technical institute, Changchun 130012, China): This article showed through an example uses VB6.0 to transfer the WORD documents one method, realized the programming to read in the WORD documents form the data, and read in the ACCESS database, with produced a form by the programmed control in the WORD documents, read in the WORD documents the database in data.1 工作中遇到的问题和解决的方案我所在单位的局域网机房,有两个机柜,内部放置交换机,路由器等网络设备,两个机柜分别为内网机柜和外网机柜,内网为单位内部使用,不与INTERNET网连接,外网为连接INTERNET互联网的网。
我们单位的特殊情况是刚开始建设机房时,交换机的数量少,所以有许多房间并没有连通网络,而是在需要时在机房将端口与交换机连通。
机房交换机的端口号与房间号的对应关系经常变化,增加了维护的难度。
有时只是某一个节点出现接触不好等问题,却需要检查多个点,,浪费了时间。
刚开始时只有一个局域网布线图,后来制作了房间号,机房交换机端口号,机柜线架号三者之间的对照表,通过机房交换机指示灯的亮灭、闪烁等判断某一个房间的计算机是否已经与机柜中的交换机连通,从而有针对性地解决网络连通问题。
教你如何以VB对word 文件进行读写操作
VB6.0 如何对word 文件进行读写操作•对于这样的表格我通过下面一段代码可以实现,但如何对图二最下面的内容进行填充谢谢啦Set WordObj = CreateObject("Word.Application")WordObj.Visible = FalseIf wordfilepath = "" ThenMsgBox "请先打开文件!"Exit SubEnd IfSet myword = WordObj.Documents.Open(wordfilepath)strText = ActiveDocument.Words(1).Text'ActiveDocument.Words(1).Text = "Hello"With myword.Tables(1) .Cell(7, 2).Range.Text = "22"End Withmyword.CloseWordObj.Quit图一图二•百度下很多的,下面是我以前用的方法,要样板首先在要修改的word样板中要修改的地方随便写几个字(我写的是标记)作为标志,然后选中这些字,点工具插入mark,记住你起的名字(我起的是标记),然后参考以下代码。
Dim wd As New Word.ApplicationDim doc As Word.Documentwd.Visible = FalseSet doc = wd.Documents.Add(App.Path & "\样板.doc") '当模板用add,否则用open doc.Bookmarks("标记").Range.Text = "这里写你要输入的文字"doc.SaveAs "样板1.doc"doc.Closewd.Quit。
在VB开发中直接打开Word文档的应用技术
在VB开发中直接打开Word文档的应用技术使用API函数ShellexecuteDeclare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (By Val hwnd As Long, ByVal lpOperation As String, ByVal lpFile As S tring, ByVal lpParameters As String, ByVal lpDirectory As String, ByVa l nShowCmd As Long) As Long参数类型及说明hwnd Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它lpFile String,想用关联程序打印或打开一个程序名或文件名lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数lpDirectory String,想使用的完整路径nShowCmd Long,定义了如何显示启动程序的常数值。
参考ShowWindow函数的nCmdShow参数把hwnd=me.hwnd,lpoperation="open",lpfile=你想打开的文件,lpparameters = vbnullstring,就可以了。
'定义变量Option ExplicitDim oWord As ObjectDim sOpenfilename As StringPrivate Sub macrodemo_Click()'创建oWord对象Set oWord = CreateObject("Word.Application")oWord.Visible = True '让WORD 可见'调用宏MacroEnd Sub'改编的宏代码Sub Macro()On Error GoTo errorControlWith oWord' 宏在00-9-14 由录制.Documents.Add Template:= _"C:\Program Files\Microsoft Office\Templates\Normal.dot", NewTe mplate:= _False.Selection.TypeText Text:="Word文档插入MP3文件一法".Selection.TypeParagraph.Selection.TypeText Text:="在Word文档中插入声音文件。
VB:成功打开word文件并提取信息
Do While myfile <> ""
Set wrddoc = wrdapp.documents.Open(myfile)
wrdapp.Visible = True
ActiveWorkbook.Sheets(1).Cells(i, 2) = wrddoc.tables(1).cell(5, 4)
ActiveWorkbook.Sheets(1).Cells(i, 5) = wrddoc.tables(1).cell(8, 2)
ActiveWorkbook.Sheets(1).Cells(i, 6) = wrddoc.tables(1).cell(9, 2)
ActiveWorkbook.Sheets(1).Cells(i, 7) = wrddoc.tables(1).cell(9, 4)
Dim mypath, myfile
Dim i As Integer
i = 1
Set wrdapp = CreateObject("word.application")
mypath = ("C:\Documents and Settings\Administrator\桌面\sales.doc")
Sub 提取信息表数据()
Dim wrdapp As Object
Dim wrddoc As Object
Dim mypath
Dim myfile As String
Dim i As Integer
i = 1
【精品文献】vb操作word
[追加500分求教] VB操作WORD问题悬赏分:200 - 解决时间:2007-7-28 11:42说明,用VB操作WORD,以下源码第一次操作完全正常,正常打开,正常替换,正常退出。
进程中并没有留下windword的进程,但第二次继续操作时就出问题,运行到ReplaceWord()就出现462错误,关闭程序重新开始又正常。
请指教出错及解决原因,追加到500分'=============打开word==============Function OpenWord(FileName) '打开指定word文档Dim wordApp As New Word.ApplicationDim wordDoc As New Word.DocumentSet wordApp = CreateObject("Word.Application")wordApp.Visible = FalseSet wordDoc = wordApp.Documents.Open(FileName)End Function============替换关键字===========Function ReplaceWord(SearchStr, ReplaceStr) '全部替换函数Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text = SearchStr.Replacement.Text = ReplaceStr.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute Replace:=wdReplaceAllEnd Function'==================另存为===================Function SaveAsWord(DiskStr, NameStr)ChangeFileOpenDirectory DiskStrActiveDocument.SaveAs FileName:=NameStr, FileFormat:=wdFormatDocument _ , LockComments:=False, Password:="", AddToRecentFiles:=True, _ WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _ SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _ FalseApplication.Documents.CloseApplication.QuitEnd Function'===================清除对象============Function CloseWord()Set wordDoc = Nothing '清除文件实例Set wordApp = Nothing '清除WORD实例End Function问题补充:根据《小fisher》的答案,已经解决问题,另外在SaveAsWord过程中,ChangeFileOPenDirectory DiskStr更改为ChangeFileOpenDirectory DiskStr ,ActiveDocument.SaveAs更改为wordDoc.SaveAs,再加上原先《小fisher》提到要更改的地方,已经完美解决,谢谢!!PS:由于百度只能2次提高悬赏,每次50分,所以现在只有200分,未能对现500分的诺言,所以只有另开贴来加送300分!提问者:有野问 - 经理五级最佳答案1) Function ReplaceWord(SearchStr, ReplaceStr) '全部替换函数Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.......这个函数过程有错误!因为Selection是word的对象而不是VB的对象,所以不能在VB中直接引用,必须用wordApp.Selection替换掉Selection才行!这段代码在word VBA中调试不会出问题,但移植到VB中时要注意。
VB操作word总结
VB操作word总结第一篇:VB操作word总结请耐心看完:问题出现得较复杂。
我的目的:将多个文档内容逐一拷贝粘贴到另一文档后面我的方法:wordapp=new word.applicationSet doc = wordapp.Documents.AddwhilepathTemp = App.Path & “temp.doc”LoadFile rs(“word”), pathTempSet doctemp = wordapp.Documents.Open(pathTemp)doctemp.Content.Selectwordapp.Selection.copySet myRange = doc.Range(Start:=doc.Content.End 缺少参数3文件不存在' '*************************************************************** Public Function ReplacePic(FindStr As String, Optional Time As Integer = 0)As Integer Attribute ReplacePic.VB_Description = “查找FindStr,并替换为PicFile所指向的图片文件,替换次数由time参数确定,为0时,替换所有” '******************************************************************* ************* '从Word.Range对象mysel中查找所有FindStr,并替换为PicFile图像 ' 替换次数由time参数确定,为0时,替换所有'************************************************************** ****************** If Len(C_PicFile)= 0 Then C_ErrMsg = 2 Exit Function End If Dim i As Integer Dim findtxt As Boolean mysel.Find.ClearFormattingmysel.Find.Replacement.ClearFormatting With mysel.Find.Text = FindStr.Replacement.Text = “".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = False End With mysel.HomeKey Unit:=wdStory findtxt = mysel.Find.Execute(Replace:=True)If Not findtxt Then ReplacePic = 0 Exit Function End If i = 1 Do While findtxt mysel.InlineShapes.AddPicture FileName:=C_PicFile If i = Time Then Exit Do i = i + 1 mysel.HomeKey Unit:=wdStory findtxt = mysel.Find.Execute(Replace:=True)Loop ReplacePic = i End Function Public Function FindThis(FindStr As String)As Boolean Attribute FindThis.VB_Description = ”查找FindStr,如果模板中有FindStr则返回True“ If Len(FindStr)= 0 Then C_ErrMsg = 2 Exit Function End If mysel.Find.ClearFormatting mysel.Find.Replacement.ClearFormatting With mysel.Find.Text = FindStr.Replacement.Text = ”“.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = False End With mysel.HomeKey Unit:=wdStory FindThis = mysel.Find.Execute End Function Public Function ReplaceChar(FindStr As String, RepStr As String, Optional Time As Integer = 0)As Integer Attribute ReplaceChar.VB_Description = ”查找FindStr,并替换为RepStr,替换次数由time参数确定,为0时,替换所有“ '**************************************************************** **************** '从Word.Range对象mysel中查找FindStr,并替换为RepStr ' 替换次数由time参数确定,为0时,替换所有'************************************************************** ****************** Dim findtxt As Boolean If Len(FindStr)= 0 Then C_ErrMsg = 2 RaiseEvent HaveError Exit Function End If mysel.Find.ClearFormattingmysel.Find.Replacement.ClearFormatting With mysel.Find.Text = FindStr.Replacement.Text = RepStr.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = False End WithIf Time > 0 Then For i = 1 To Time mysel.HomeKey Unit:=wdStory findtxt = mysel.Find.Execute(Replace:=wdReplaceOne)If Not findtxt Then Exit For Next If i = 1 And Not findtxt Then ReplaceChar = 0 Else ReplaceChar = i End If Else mysel.Find.Execute Replace:=wdReplaceAll End If End FunctionPublic Function GetPic(PicData()As Byte, FileName As String)As Boolean Attribute GetPic.VB_Description = ”把图像数据PicData,存为PicFile指定的文件“ '**************************************************************** **************** '把图像数据PicData,存为PicFile指定的文件'************************************************************** ****************** On Error Resume Next If Len(FileName)= 0 Then C_ErrMsg = 2 RaiseEvent HaveError Exit Function End If Open FileName For Binary As #1 If Err.Number <> 0 Then C_ErrMsg = 3 Exit Function End If '二进制文件用Get,Put存放,读取数据 Put #1, , PicData Close #1 C_PicFile = FileName GetPic = True End FunctionPublic Sub DeleteToEnd()AttributeDeleteToEnd.VB_Description = ”删除从当前位置到结尾的所有内容“ mysel.EndKey Unit:=wdStory, Extend:=wdExtend mysel.Delete Unit:=wdCharacter, Count:=1 End Sub Public Sub MoveEnd()Att ribute MoveEnd.VB_Description = ”光标移动到文档结尾“ '光标移动到文档结尾mysel.EndKey Unit:=wdStory End Sub Public Sub GotoLine(LineTime As Integer)mysel.GoTo What:=wdGoT oLine, Which:=wdGoToFirst, Count:=LineTime, Name:=”“ End Sub Public Sub OpenDoc(view As Boolean)Attribut e OpenDoc.VB_Description = ”打开Word文件,View确定是否显示Word界面“ On Error Resume Next '******************************************************************* ************* '打开Word文件,并给全局变量mysel赋值'************************************************************** ****************** If Len(C_TemplateDoc)= 0 Then mywdapp.Documents.Add Else mywdapp.Documents.Open(C_TemplateDoc)End If If Err.Number <> 0 Then C_ErrMsg = 4 RaiseEvent HaveError Exit Sub End If mywdapp.Visible = view mywdapp.Activate Set mysel = mywdapp.Application.Selection 'mysel.SelectEnd Sub Public Sub OpenWord()On Error Resume Next '******************************************************************* ************* '打开Word程序,并给全局变量mywdapp赋值'************************************************************** ****************** Set mywdapp = CreateObject(”word.application“)If Err.Number <> 0 Then C_ErrMsg = 1 RaiseEvent HaveError Exit Sub End If End Sub Public Sub ViewDoc()Attribute ViewDoc.VB_Description = ”显示Word 程序界面“ mywdapp.Visible = True End Sub Public SubAddNewPag e()Attribute AddNewPage.VB_Description = ”插入分页符“ mysel.InsertBreak Type:=wdPageBreak End Sub Public Sub WordCut()Attribute WordCut.VB_Description = ”剪切模板所有内容到剪切板“ '保存模板页面内容 mysel.WholeStory mysel.Cut mysel.HomeKey Unit:=wdStory End Sub Public Sub WordCopy()Attribute WordCopy.VB_Description = ”拷贝模板所有内容到剪切板“ mysel.WholeStory mysel.Copy mysel.HomeKey Unit:=wdStory End Sub Public Sub WordDel()mysel.WholeStory mysel.Delete mysel.HomeKey Unit:=wdStory End Sub Public Sub WordPaste()Attribute WordPaste.VB_Descripti on = ”拷贝剪切板内容到当前位置“ '插入模块内容mysel.Paste End Sub Public Sub CloseDoc()Attribute CloseDoc.VB_Description = ”关闭Word文件模板“ '**************************************************************** **************** '关闭Word文件模本'******************************************************************* ************* On Error Resume Nextmywdapp.ActiveDocument.Close False If Err.Number <> 0 Then C_ErrMsg = 3 Exit Sub End If End Sub Public Sub QuitWord()'******************************************************* ************************* '关闭Word程序'************************************************************** ****************** On Error Resume Next mywdapp.Quit If Err.Number <> 0 Then C_ErrMsg = 3 Exit Sub End If End Sub Public Sub SavetoDoc()Attribute SavetoDoc.VB_Description = ”保存当前文档为FileName指定文件“ On Error Resume Next '并另存为文件FileName If Len(C_newDoc)= 0 Then C_ErrMsg = 2 RaiseEvent HaveError Exit Sub End Ifmywdapp.ActiveDocument.SaveAs(C_newDoc)If Err.Number <> 0 Then C_ErrMsg = 3 RaiseEvent HaveError Exit Sub End If End SubPublic Property Get TemplateDoc()As String Attribute TemplateDoc.VB_Description = ”模板文件名.“ TemplateDoc = C_T emplateDoc End Property Public Property Let TemplateDoc(ByVal vNewValue As String)C_TemplateDoc = vNewValue End Property Public Property Get newdoc()As String Attribute newdoc.VB_Description = ”执行CloseDoc方法时,将模板文件另存为此文件名指定的新文件.如果不指定,在执行CloseDoc方法时,将产生一个错误“ newdoc = C_newDoc End Property Public Property Let newdoc(ByVal vNewValue As String)C_newDoc = vNewValue End Property Public Property Get PicFile()As Str ing Attribute PicFile.VB_Description = ”图像文件名“ PicFile = C_PicFile End Property Public Property Let PicFile(ByVal vNewValue As String)C_PicFile = vNewValue End Property Public Property Get ErrMsg()As Integer Attribute ErrMsg.VB_Description = ”错误信息.ErrMsg代码: 1-word没有安装 2-缺少参数 3-没权限写文件 4-文件不存在“ ErrMsg = C_ErrMsg End Property 请问如何正确杀掉word进程?楼主btl19792008(btl19792008)2005-11-04 17:05:03 在 VB / 数据库(包含打印,安装,报表)提问我的word程序运行几次,在资源管理器中就会出现很多word进程。
VB中直接打开Word文档
使用API函数ShellexecuteDeclare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowC md As Long) As Long参数类型及说明hwnd Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它lpFile String,想用关联程序打印或打开一个程序名或文件名lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数lpDirectory String,想使用的完整路径nShowCmd Long,定义了如何显示启动程序的常数值。
参考ShowWindow函数的nCmdShow 参数把hwnd=me.hwnd,lpoperation="open",lpfile=你想打开的文件,lpparameters = vbnullstring,就可以了。
'定义变量Option ExplicitDim oWord As ObjectDim sOpenfilename As StringPrivate Sub macrodemo_Click()'创建oWord对象Set oWord = CreateObject("Word.Application")oWord.Visible = True '让WORD 可见'调用宏MacroEnd Sub'改编的宏代码Sub Macro()On Error GoTo errorControlWith oWord' 宏在00-9-14 由录制.Documents.Add Template:= _"C:\Program Files\Microsoft Office\Templates\Normal.dot", NewTempl ate:= _False.Selection.TypeText Text:="Word文档插入MP3文件一法".Selection.TypeParagraph.Selection.TypeText Text:="在Word文档中插入声音文件。
vb 文件的读取
Private Sub Command1_Click()Dim wrdApp As ObjectDim f, fso As ObjectDim filepath As StringDim Keywords As Stringfilepath = "c:\words "Keywords = "abc "Set fso = CreateObject( "Scripting.FileSystemObject ")Set folders = fso.GetFolder(filepath)i = 0For Each f In folders.FilesIf LCase(Right(, Len() - InStrRev(, ". "))) = "doc " ThenSet wrdApp = CreateObject( "Word.Application ")wrdApp.Visible = FalsewrdApp.Documents.Open FileName:=filepath & "\ " & If InStr(wrdApp.ActiveDocument.Content.Text, Keywords) <> 0 ThenMsgBox End IfwrdApp.QuitEnd IfNextSet wrdApp = NothingEnd SubVB 打开文本文件打开txt文件2008年04月13日星期日 10:28打开文本文件是不少程序必须处理的问题。
如何更有效地打开文本文件应该是一个值得研究的课题。
为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考。
同时期盼大家也来参与,借VB编程乐园这块宝地互相交流。
如您有这份心,土人在这里先说声谢谢!下面所举的例子均假设F盘下有一个名为d.txt的文本文件,若需要尝试这些例子请作相应的改动。
使用VB编程读写WORD表格中数据一例
使用VB编程读写WORD表格中数据一例
王立涛
【期刊名称】《电脑知识与技术》
【年(卷),期】2010(006)022
【摘要】该文通过一个实例说明了使用VB6.0调用WORD文档的一种方法,实现了编程读取WORD文档表格中的数据,并写入ACCESS数据库中,和由程序控制在WORD文档中生成一个表格,将数据库中的数据写入WORD文档.
【总页数】6页(P6255-6260)
【作者】王立涛
【作者单位】长春市计量检定测试技术研究院,吉林,长春,130012
【正文语种】中文
【中图分类】TP311
【相关文献】
1.浅谈WORD表格中的数据计算 [J], 禹巨涛
2.应用Excel VBA批量提取Word表格中的数据 [J], 王殿佑;王艳
3.使用C#将中的数据输出到Word的表格中 [J], 樊宁
4.将Excel表格中的数据移到Word表格中 [J], 王道才
5.WORD表格中的公式计算数据更新之我见 [J], 周靖;孙璐
因版权原因,仅展示原文概要,查看原文内容请购买。