none
Wordのnormal.dotmの見出しスタイルを開いているワードに移すマクロについて RRS feed

  • 質問

  •             

    現在開いているワードファイルのパスを自動で取得して、そのファイルに、normal.dotmのスタイルを移す、というマクロを教えて下さい。

    自分のnormal.dotmに見出しスタイルを4つ作成し、その設定がされていないワード資料の見出しに移すという作業をよく行っています。

    現在は、スタイルで、スタイルのインポートから、見出しを4つ、目次を4つ選択しては、現在開いているワードに移す、ということを行っていますが、それを自動化できないかと思っています。

    とりあえず見出し21つ移すマクロを作ってみたのですが

    以下のマクロで、ファイル名をいれればできるのですが

    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    Sub 見出し目次コピ()

        Application.OrganizerCopy Source:= _

            "C:\Users\YYYYY\AppData\Roaming\Microsoft\Templates\Normal.dotm", _

            Destination:= _

            "C:\Users\YYYYY\Desktop\デスク一瞬保管箱\デスクためしの脱抑制.docx" _

            , Name:="見出し 2", Object:=wdOrganizerObjectStyles

        CommandBars("Styles").Visible = False

    End Sub

    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ↓下記の部分を、開いているファイルのパスを取得して、どのファイルでもできるようにならないかと

    C:\Users\YYYYY\Desktop\デスク一瞬保管箱\デスクためしの脱抑制.docx

    下記のマクロを作ったのですが、どうにも動きません。

        Application.OrganizerCopy Source:= _

    の部分でデバックがかかってしまいます。

    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    Sub 見出し目次コピ()

     Dim namae As String

        namae = Application.ActiveDocument.FullName  'ここで今開いているファイル名を取得している。

        Application.OrganizerCopy Source:= _

            "C:\Users\YYYYY\AppData\Roaming\Microsoft\Templates\Normal.dotm", _

            Destination:= _

            "namae" _

            , Name:="見出し 2", Object:=wdOrganizerObjectStyles

        CommandBars("Styles").Visible = False

    End Sub

    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    なんとか、現在開いているのパスを自動で取得して、そのファイルに、normal.dotmのスタイルを移す、というマクロができないでしょうか?教えて下さい。

    2017年9月9日 2:19

すべての返信

  • せっかく取得した namae 変数が、利用する所で文字列の "namae" になっています。
    Destination:= _
            namae _
    のようにダブルクォートを外してあげれば動きます。
    あと、例が "見出し 2" になっていますが、
    コピー先に既存のスタイル名はコピーできずエラーになるのでご注意ください。
    2017年12月27日 8:15