[[20211005210033]] 『(VBA)Wordを開く処理の際のエラーについて』(BOOK) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『(VBA)Wordを開く処理の際のエラーについて』(BOOK)

Private Sub repl()
Dim wdObj As New Word.Application ' Wordを起動する
Dim wdDoc As Word.Document
Dim wordFile As String
Dim objSelect As Object

wordFile = "ワード文書.docx" ' ワード文書のファイル名

wdObj.Visible = True ' Wordを表示する(そのままだと起動はしているが画面には表示されない)
AppActivate wdObj ' Wordをアクティベートする(最前面に)

Set wdDoc = wdObj.Documents.Open("/Users/matsumotoyasuo/Downloads" & "/" & wordFile, ReadOnly:=True)
Set objSelect = wdObj.Selection
wdDoc.ActiveWindow.View = wdPrintView ' 編集モードに移行(閲覧モードでは置換ができない)

objSelect.Find.Text = "検索文字列"
objSelect.Find.Forward = True
objSelect.Find.Replacement.Text = "置換文字列"
objSelect.Find.Execute Replace:=wdReplaceAll
End Sub

上記マクロで、

wdObj.Visible = True ' Wordを表示する(そのままだと起動はしているが画面には表示されない)
この部分でオートメーションエラーですというエラーが出てきます。

こちらのエラーの対応策をご伝授いただきたいです。

< 使用 Excel:unknown、使用 OS:unknown >


こちらでは、再現しませんでした。

その次の行で、別のエラーがでましたが、
下記のように変更したら、ちゃんと置換できました。
AppActivate wdObj.Caption

(マナ) 2021/10/05(火) 22:41


ご確認ありがとうございます。
いただいたコードも記入しつつ、もう一度試行したのですが、
やはり以下のようなエラーが出てきます。(下記リンクの写真を参照)。
オートメーションエラーという表示だけでは、原因がわからないのでこちらとしては対策のしようがないのですが、どういったところに原因があるのでしょうか...?
https://25.gigafile.nu/1012-cca6a1b6d85aaf67b3da99c954eb65377
(BOOK) 2021/10/05(火) 23:10

よくわからないリンクは踏みたくないので写真とやらは見てないですし、外していたらごめんなさいですけど、Wordのお仕事はWordVBAで処理してみてはどうでしょうか?

(もこな2) 2021/10/06(水) 07:48


>やはり以下のようなエラーが出てきます。(下記リンクの写真を参照)。
サイト覗かせてもらいました。がそれに類するものは一切できませんよ。
質問とは関係なく
貴方がそのサイトを利用しているとでも言いたいんでしょうか。
(*) 2021/10/06(水) 09:50

 > < 使用 Excel:unknown、使用 OS:unknown > 
きちんと記入してください。
画像見ないとMacだとわからないですよ。
(namn) 2021/10/06(水) 11:29

Sub test2()
  Dim wdObj As Object
  Dim wdDoc As Object
  Dim objSelect As Object
  Dim xResult As Boolean

  Set wdObj = CreateObject("Word.Application")
  wdObj.Visible = True

  Set wdDoc = wdObj.Documents.Open("")
  Set objSelect = wdObj.Selection

  objSelect.Find.ClearFormatting
  objSelect.Find.Replacement.ClearFormatting

  With objSelect.Find
    .Text = Range("B4")
    .Replacement.Text = Range("B6")
    .Forward = True
    .MatchFuzzy = True
    .MatchWholeWord = False
    .MatchCase = True
    .MatchWildcards = False
    .Forward = True
    .Wrap = 1 'wdFindContinue
    .Format = False
    .Execute , , , , , , , , , , 2 'wdReplaceAll
  End With
  wdDoc.Save
  wdDoc.Close
  wdObj.Quit

  Set wdDoc = Nothing
  Set wdObj = Nothing

End Sub

これでいくのでは?
(ああ) 2021/10/08(金) 13:53


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.