|
|||||||||||||||||||||||
These pages are no longer updated and are only available for archive purposes.Click here to visit the pages with updated information. Control Word from ExcelThe two example macros below demonstrates how you can send information to Word
(e.g. creating a new document) and how you can retrieve information from Word
(e.g. reading information from a document). Sub CreateNewWordDoc() ' to test this code, paste it into an Excel module ' add a reference to the Word-library ' create a new folder named C:\Foldername or edit the filnames in the code Dim wrdApp As Word.Application Dim wrdDoc As Word.Document Dim i As Integer Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Add ' create a new document ' or 'Set wrdDoc = wrdApp.Documents.Open("C:\Foldername\Filename.doc") ' open an existing document ' example word operations With wrdDoc For i = 1 To 100 .Content.InsertAfter "Here is a example test line #" & i .Content.InsertParagraphAfter Next i If Dir("C:\Foldername\MyNewWordDoc.doc") <> "" Then Kill "C:\Foldername\MyNewWordDoc.doc" End If .SaveAs ("C:\Foldername\MyNewWordDoc.doc") .Close ' close the document End With wrdApp.Quit ' close the Word application Set wrdDoc = Nothing Set wrdApp = Nothing End Sub Sub OpenAndReadWordDoc() ' assumes that the previous procedure has been executed Dim wrdApp As Word.Application Dim wrdDoc As Word.Document Dim tString As String, tRange As Word.Range Dim p As Long, r As Long Workbooks.Add ' create a new workbook With Range("A1") .Formula = "Word Document Contents:" .Font.Bold = True .Font.Size = 14 .Offset(1, 0).Select End With r = 3 ' startrow for the copied text from the Word document Set wrdApp = CreateObject("Word.Application") 'wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open("C:\Foldername\MyNewWordDoc.doc") ' example word operations With wrdDoc For p = 1 To .Paragraphs.Count Set tRange = .Range(Start:=.Paragraphs(p).Range.Start, _ End:=.Paragraphs(p).Range.End) tString = tRange.Text tString = Left(tString, Len(tString) - 1) ' exclude the paragraph-mark ' check if the text has the content you want If InStr(1, tString, "1") > 0 Then ' fill into active worksheet ActiveSheet.Range("A" & r).Formula = tString r = r + 1 End If Next p .Close ' close the document End With wrdApp.Quit ' close the Word application Set wrdDoc = Nothing Set wrdApp = Nothing ActiveWorkbook.Saved = True End Sub
Document last updated 2000-04-12 12:49:32 Printerfriendly version
|
|||||||||||||||||||||||
|