[英]Opening a word doc from excel, print a selection and a string on the same page
我有一個帶有word docs的數據庫。 文件名就像000001,000002 ......
我已經成功編寫了一個宏,這些宏可以打開這些文檔,進行選擇直到找到一個值,然后打印此選擇,然后再次關閉該文檔並移至下一個。 (請參見下面的代碼)
我想做一件事,但我無法弄清楚。 我希望在此選擇下(在同一頁上)打印“結束”一詞。 但是,我想在不對文檔進行任何更改的情況下執行此操作。
我不想更改文檔,因為需要與選擇一起打印的值來自用戶窗體文本框,並且每次都不同。 但是如果有人可以幫助我,您可以舉一個“ end”一詞的例子
在我正在尋找的上方添加了一張圖片
現在這是我的代碼:
Dim i As Long, wdApp As Object, wdDoc As Object, wdRng As Object
Set wdApp = CreateObject("Word.Application")
With wdApp
.Visible = True
For i = 1 To 9
Set wdDoc = .Documents.Open("\\path\" & Format(i, "000000") & ".NET", False, True, False)
With wdDoc
Set wdRng = .Range(0, 0)
With .Range
With .Find
.Text = "ENDLIST"
.Forward = True
.MatchWholeWord = True
.MatchCase = True
.Execute
End With
If .Find.found = True Then
wdRng.End = .Duplicate.Start
wdRng.Select
wdDoc.PrintOut , Range:=1
End If
End With
.Close False
End With
Next
.Quit
End With
Set wdRng = Nothing: Set wdDoc = Nothing: Set wdApp = Nothing
End Sub
這可能嗎,如果可以,請有人幫我走
自己發現了。 下面的代碼將打開word文件,將在文檔的開頭添加信息,從頭開始進行選擇直到找到單詞,然后打印此選擇,然后再次關閉word文件。
選擇后無法弄清楚如何獲得它,如問題圖片中所示。 但是,只要在紙上記錄了所需的信息,而且看起來很整潔,這個地方並不重要。
Sub test()
Dim i As Long, wdApp As Object, wdDoc As Object, wdRng As Object, wRng As Object
Dim BEGINNING_OF_STORY
Dim MOVE_SELECTION
BEGINNING_OF_STORY = 6
MOVE_SELECTION = 0
Set wdApp = CreateObject("Word.Application")
With wdApp
.Visible = True
For i = 1 To 2
Set wdDoc = .Documents.Open("M:\" & Format(i, "000") & ".docx")
With .Selection
.Font.Bold = True
.HomeKey BEGINNING_OF_STORY, MOVE_SELECTION
.Font.Size = "25"
.TypeText ("information" & vbCrLf)
End With
With wdDoc
Set wdRng = .Range(0, 0)
With .Range
With .Find
.Text = "DEF"
.Forward = True
.MatchWholeWord = True
.MatchCase = True
.Execute
End With
If .Find.found = True Then
wdRng.End = .Duplicate.Start
wdRng.Select
wdDoc.PrintOut , Range:=1
End If
End With
.Close False
End With
Next
.Quit
End With
Set wdRng = Nothing: Set wdDoc = Nothing: Set wdApp = Nothing
End Sub
符合我的需求,希望其他人有時也可以使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.