none
如何利用VB6修改word檔文件(.doc) 裡〔段落〕的編排格式? RRS feed

  • 問題

  • 以下程式碼(part1)可在WORD裡以[另一字串]成功取代[某一字串],可是我在該文件的〔段落〕原預先設定好的段落格式,卻無法正確被繼承來呈現,後來,我想〔在取代的同時〕或〔在取代後〕,利用VB6程式碼來修改其編排格式,我利用巨集錄製了一段程式碼(part2),希望將被取代字串所在的〔段落〕編排格式設定為:
    一般/對齊方式:靠左對齊
    縮排/左:0字元 右:0字元  指定方式:凸排  位移點數:1.73
    其他的設定值全部使用內定值

    我現在的困擾是所錄製了一段程式碼(part2),應該如何修改其參數值?如何將這段程式碼置入(part1)來執行?
    懇求各位先進能指導一下?謝謝!
    ----part1-------------------------------------------------------------------
    Const wdFindContinue = 1
    Const wdReplaceAll = 2
    Dim WordObj As Object
    Set WordObj = CreateObject("Word.Application")
    With WordObj
    .Documents.Open NewDocFileName
    .Selection.Find.ClearFormatting
    .Selection.Find.Replacement.ClearFormatting
    With .Selection.Find
    .Text = "某一字串"
    .Replacement.Text = "另一字串"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = True
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    .Selection.Find.Execute Replace:=wdReplaceAll
    .ActiveDocument.SaveAs NewFileName

    On Error Resume Next
    .ActiveDocument.Close
    .Quit
    End With
    Set WordObj = Nothing

    -----part2------------------------------------------------------------------------
    With Selection.ParagraphFormat
    .LeftIndent = CentimetersToPoints(0)
    .RightIndent = CentimetersToPoints(0)
    .SpaceBefore = 0
    .SpaceBeforeAuto = False
    .SpaceAfter = 0
    .SpaceAfterAuto = False
    .LineSpacingRule = wdLineSpaceSingle
    .Alignment = wdAlignParagraphLeft
    .WidowControl = True
    .KeepWithNext = False
    .KeepTogether = False
    .PageBreakBefore = False
    .NoLineNumber = False
    .Hyphenation = True
    .FirstLineIndent = CentimetersToPoints(1.73)
    .OutlineLevel = wdOutlineLevelBodyText
    .CharacterUnitLeftIndent = 0
    .CharacterUnitRightIndent = 0
    .CharacterUnitFirstLineIndent = 0
    .LineUnitBefore = 0
    .LineUnitAfter = 0
    .AutoAdjustRightIndent = True
    .DisableLineHeightGrid = False
    .FarEastLineBreakControl = True
    .WordWrap = True
    .HangingPunctuation = True
    .HalfWidthPunctuationOnTopOfLine = False
    .AddSpaceBetweenFarEastAndAlpha = True
    .AddSpaceBetweenFarEastAndDigit = True
    .BaseLineAlignment = wdBaselineAlignAuto
    End With

    2007年1月3日 上午 11:27

解答

  • 安裝 Office 時,請勾選安裝 VBA 線上手冊,此為選擇性安裝,預設不安裝,可用新增刪除元件增加。

    在 Word VBA 環境下按 F1 即可叫出線上手冊。

    以 Word 2003 來說,此 SaveAs 方法的路徑為:

    mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\vbawd10.chm::/html/womthSaveAs1.htm

    2007年1月8日 上午 02:26
    版主

所有回覆

  • 請問 下列指令的參數值,在哪裡可以找到來參考?
    .ActiveDocument.SaveAs FileName:=strFileHTM, FileFormat:=wdFormatDocument, _
    LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
    :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
    SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
    False
    2007年1月7日 下午 10:06
  • 安裝 Office 時,請勾選安裝 VBA 線上手冊,此為選擇性安裝,預設不安裝,可用新增刪除元件增加。

    在 Word VBA 環境下按 F1 即可叫出線上手冊。

    以 Word 2003 來說,此 SaveAs 方法的路徑為:

    mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\vbawd10.chm::/html/womthSaveAs1.htm

    2007年1月8日 上午 02:26
    版主
  • 当文件较大时,修改的位置多时,会产生溢出错误,如何防止出现溢出

    2008年12月11日 上午 11:53