มาโครที่ค้นหาคำเพื่อสร้างคำและสร้างตาราง


0

สวัสดีฉันมีมาโคร Word ที่ควรสแกนเอกสารคำค้นหาคำสั่งแล้วแปลงคำนั้นเป็นตารางโดยใช้คำสั่งในคอลัมน์หนึ่งและผลลัพธ์ในคอลัมน์ 2 ฉันทำอะไรผิดไป

Sub Search()
Dim IsFound As Boolean
IsFound = True

Selection.Find.ClearFormatting
With Selection.Find
    .Text = "Command:"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With

While IsFound
 Selection.ConvertToTable Separator:=wdSeparateByDefaultListSeparator, _
NumColumns:=2, NumRows:=8, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
    .Style = "Table Grid"
    .ApplyStyleHeadingRows = True
    .ApplyStyleLastRow = False
    .ApplyStyleLastColumn = False
IsFound = Selection.Find.Execute

End With
Wend
End Sub

ขอขอบคุณล่วงหน้าสำหรับความช่วยเหลือ


ยินดีต้อนรับสู่ Super User! มันไม่ทำอะไรกันแน่? เกิดอะไรขึ้น มีข้อความผิดพลาดหรือไม่? กรุณาแก้ไขข้อมูลที่ int คำถามของคุณ ขอบคุณ :)
bertieb

ซ้ำครั้งแรกในการWhile IsFoundเริ่มต้นก่อนFind.Execute... ดำเนินการFind.Executeทันทีก่อนWhile IsFoundนอกจากนี้
Akina

ขอบคุณสำหรับคำตอบของคุณ ฉันค่อนข้างใหม่ในการสร้างมาโคร อย่างที่เห็น. ไม่พบคำสั่ง word และไม่แปลงข้อความนั้นเป็นตาราง 2 คอลัมน์ 7 แถว วิธีการหรือคุณสมบัตินี้ไม่สามารถใช้ได้เพราะวัตถุที่ฉันว่างเปล่า 4605 มันไม่ได้ที่จะเลือกบางสิ่งบางอย่างด้วยตนเอง แต่ฉันเลือกการค้นหาได้ทำอย่างนั้น
ben

หลีกเลี่ยงการใช้การเลือกวัตถุ เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของข้อความและค้นหา "จากตำแหน่งปัจจุบัน" หลังจากCommandพบคำถัดไปแล้วให้เลือกแฟรกเมนต์ทั้งหมดที่ต้องการแปลงเป็นรูปแบบตาราง จากนั้นเลื่อนเคอร์เซอร์ไปที่ตารางที่สร้างขึ้นและค้นหาซ้ำ ทำจนกว่าการค้นหาจะล้มเหลว (ไม่พบ)
Akina

คำตอบ:


0

ลองนี้ ... หวังว่าจะช่วยได้

Sub Search()
Selection.HomeKey Word.WdUnits.wdStory
Selection.Find.ClearFormatting
With Selection.Find
  .Text = "Command:"
  .Replacement.Text = ""
  .Forward = True
  .Wrap = wdFindStop
  .Format = False
  .Execute
Do While .Found
    Selection.ConvertToTable Separator:=wdSeparateByDefaultListSeparator, _
        NumColumns:=2, NumRows:=8, AutoFitBehavior:=wdAutoFitFixed
    With Selection.Tables(1)
        .Style = "Table Grid"
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = False
        .ApplyStyleLastColumn = False
    End With
    Selection.Collapse Word.WdCollapseDirection.wdCollapseEnd
    .Execute
Loop
End With
End Sub
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.