簡體   English   中英

從Excel打開Word文檔,在同一頁面上打印選擇內容和字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM