如何用VB调用WORD文档,请高手进,谢谢~!~
知道,不过不能直接读取,因为微软没有公布加密方式,所以要调用WORD来读取,然后获取它先在工程的引用里面加上Microsoft Word 11.0 Object LibraryDim 剪切板文本Dim Word文字处理系统界面 As Word.Application '建立一个word.application对象Dim Word文档 As Word.DocumentDim Word文档文本 As Word.Selection '在word文字处理系统中添加一个文档Set Word文字处理系统界面 = CreateObject("Word.Application") '选择对象Word文字处理系统界面.Visible = False '不显示word.application,即word文字处理系统界面Set Word文档 = Word文字处理系统界面.Documents.Open(文件路径)Set Word文档文本 = Word文字处理系统界面.SelectionWord文档文本.WholeStoryWord文档文本.Copy剪切板文本 = Clipboard.GetText(vbCFText) '放到text1中Text1.Text = 剪切板文本'Clipboard.SetData TempWord文档.Close '关闭文档Word文字处理系统界面.Application.QuitSet Word文字处理系统界面 = Nothing '清空变量Set Word文档文本 = Nothing'完成操作我通过剪切板来获取文本,因为这样可以保留格式(本人独创)如果直接获取也是可以的,不过格式全部丢失,所以我的方法会更好一点
VB中如何生成一个WORD文档(有图)
Imports Word'打开Dim mWordapp As Word.Application 'word 应用程序Dim mobjDoc As Word.Document 'word 文档Dim fullFileName as string '文件路径mWordapp = CreateObject(”Word.Application”)mobjDoc = mWordapp.Documents.Add(FullFileName)'关闭Dim missing As Object = System.Reflection.Missing.ValuemWordapp.Application.Quit()If Not mobjDoc Is Nothing Then'垃圾回收System.Runtime.InteropServices.Marshal.ReleaseComObject(mobjDoc)mobjDoc = NothingEnd IfIf Not mWordapp Is Nothing ThenSystem.Runtime.InteropServices.Marshal.ReleaseComObject(mWordapp)mWordapp = NothingEnd If'真正释放word进程GC.Collect()学习更多教程,请浏览: VB.NET入门教程 雄网
如何在vb中调出word文档并对其中的内容作出修改?
示例:把c:\1.doc中的“一”替换为“壹”:Private Sub Command1_Click()Dim wordObjSet wordObj = CreateObject("Word.Application")With wordObj.Documents.Open("c:\1.doc").Content.Find.Execute "一", , , , , , , , , "壹", 2.SaveEnd WithwordObj.quitEnd Sub
VB程序中调用word
Option ExplicitDim ap As Word.Application, s As String, doc As DocumentPrivate Sub Command1_Click()Set ap = CreateObject("word.application")Set doc = ap.Documents.Open("d:\1.doc")s = doc.Content.TextPrint sEnd SubPrivate Sub Form_Unload(Cancel As Integer)doc.Closeap.QuitSet doc = NothingSet ap = NothingEnd Sub
在VB6.0中,我要打开特定的word文档,应该怎么写呢?
5个单选按钮的名称分别为a、b、c、d、e,确认按钮名称为enter,代码如下:Private Declare 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 nShowCmd As Long) As LongPrivate Sub enter_Click()Dim sDoc As StringIf a And c ThensDoc = "D:\1.doc"ShellExecute Me.hwnd, "open", sDoc, "", "", 5ElseIf b And d ThensDoc = "D:\2.doc"ShellExecute Me.hwnd, "open", sDoc, "", "", 5End IfEnd Sub
vb 怎么输出到word,有编码的最好 谢谢。
我要把vb中不同界面的东西...
你的问题我最近也有碰到,找不到人帮我,我找出了一套解决的方法....方法很简单,不需要使用shell函数,剪贴簿或是api也可以解决,要将 access 中的变数传到 word中,有两种方法(可能有很多吧!!但是我只知道这两种),第一是利用word内建的合并列印功能,另外一种是使用word中的"插入(i)/功能变数(F)"然后利用一个"DocVariable"功能变数,这样就可以轻松在VBA中对word文件中的指定的位置加入经程式处理过的文字....当然这两种方法,都需要程式设计者先设计一个word文件,使这个word文件一开启就具有已有己经事先安排好的合并列印栏位或是变数,让使用者只要在access中按下一个commandbutton就可以顺利看到自己所需的报表或是你所说的考卷出现在word中....我就access 的部份做说明....我是先设计一个整体资料库(数据库)共用的公用程式模组,记得要引用Microsoft Word Object Library 10.0物件 程式中需要用到时才呼叫....程式码如下:{ Option Compare Database'此数据库必需先引用Microsoft Word Object Library 10.0 Public wdapp As Word.Application '宣告一个新的word应用程式物件 Public Sub openwddoc(filename As String, name2 As String)'本程序使用word开启已存在之word文件(.doc或.dot档案),并自动另存一份新档,让使用者不致修改到原始word文件档'filename引数(指定欲开启档案的绝对路径),name2引数(开启档案后另存新档的绝对路径)'注意!!!!如果另存新档的路径下有同档名的文件,word将不会提示而直接覆盖掉 wdapp.Visible = True wdapp.Documents.Open filename, , ReadOnly '加入ReadOnly以防程式出错时,导致使用者可以修改原始Word档,让连结功能失效 wdapp.ActiveDocument.SaveAs name2 '让word 自动另存新档到name2所指定的路径及档名 End Sub Public Sub unloadwdapp() '卸载word应用程式的工具程序,每个呼叫word的sub最好都执行一次这个sub一次,否则容易造成系统执行很多次winword.exe导致记忆体不足 wdapp.Quit End Sub Public Sub sendvar(sourcevar As String, objectvar As String)'本函数将access中欲传送的变数,传送至己存在的word文件中的指定变数'sourcevar引数,access 中欲传至word的任意变数'objectvar引数,位於word中Docvariable的变数名称 wdapp.ActiveDocument.Variables(objectvar) = sourcevar'使word文件变数=access变数 End Sub } public sub cutlink() wdapp.ActiveDocument.Fields.Update'更新功能变数 wdapp.ActiveDocument.Fields.Unlink'中断连结 end sub 建立完以上的四个共用程序后,在窗体程式码部份,其实只要使用call指令来依顺序呼叫就可以了,比如:{ Private Sub Command2_Click() Dim name1 As String Dim name2 As String name1 = CurrentProject.Path & "\1.doc" name2 = CurrentProject.Path & "\2.doc" Set wdapp = CreateObject("word.application") '这一行一定要加入,否则程式会出错 Call openwddoc(name1, name2) Call sendvar(Text0.Value, "var1") 'var1是我在1.doc之中预先设下的文件变数,在这里要加上引号,才能使用,不然会被VBA当成一个变数名称,值也会变成null Call cutlink End Sub } 这是传递资料的其中一种方法,只适合用在单一笔记录资料传递时使用,如果资料笔数很多,建议你使用合并列印的功能 将合并列印的资料来源指向目前数据库中的一个Query,并将你的资料表(table)加上一个"yes/no"的栏位,要印出来的就打勾 把query之中的查询准则设为"yes",这样就可以只列出你所需要的笔数,之后再呼叫上方的openwddoc()程序,开启你已设计好的word文件 就可以了...希望对你有帮助,有问题大家一起讨论....
转载请注明出处51数据库 » vb中丢失word文档
宇智波