Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6 / 306 ツリー ←次へ | 前へ→

【877】検索文字の後ろに文字挿入 あおぎんこ 19/6/11(火) 17:12 質問[未読]

【878】Re:検索文字の後ろに文字挿入 マナ 19/6/11(火) 22:30 発言[未読]
【886】Re:検索文字の後ろに文字挿入 あおぎんこ 19/7/3(水) 14:29 質問[未読]
【887】Re:検索文字の後ろに文字挿入 マナ 19/7/3(水) 23:07 発言[未読]
【888】Re:検索文字の後ろに文字挿入 あおぎんこ 19/7/4(木) 19:23 質問[未読]
【889】Re:検索文字の後ろに文字挿入 マナ 19/7/4(木) 20:17 発言[未読]
【890】Re:検索文字の後ろに文字挿入 あおぎんこ 19/7/5(金) 12:06 お礼[未読]

【878】Re:検索文字の後ろに文字挿入
発言  マナ  - 19/6/11(火) 22:30 -

引用なし
パスワード
   ▼あおぎんこ さん:

1つのword文書で、挿入は1回だけですよね。

Sub test()
  Dim r As Range
  
  Set r = ActiveDocument.Range
  
  With r.Find
    .Text = "検索文字"
    If .Execute Then
      r.InsertAfter "挿入文字"
    End If
  End With

End Sub

【886】Re:検索文字の後ろに文字挿入
質問  あおぎんこ  - 19/7/3(水) 14:29 -

引用なし
パスワード
   ▼マナ さん:

回答ありがとうございます。
そして、すっかりお礼が遅くなって申し訳ありません。

ご提示のコードを組み込んでみましたところ、Set r = ActiveDocument.Range 
のところで型が一致しません と出ます。
いただいたtestコードをwordで実行するとうまくいくので、これを元に何とか
しようと思ったのですが、行き詰っております。
エクセルから操作しているので、うまくいかないのでしょうか・・??
ご教示いただけるとありがたいです。。

よろしくお願いいたします。


Sub サンプル()

Dim strFile As String
Dim wrdApp As Object
Dim wrdDoc As Object
Dim wrdRng As Object
  
 strFile = "ダイアログで選択したWordファイルのフルパス"
    
 Set wrdApp = CreateObject("Word.Application")’ワードを開く
 wrdApp.Visible = True
 Set wrdDoc = wrdApp.Documents.Open(strFile) '指定のワードファイルを開く
  wrdDoc.Range.WholeStory
   
  Dim r As Range
  Set r = ActiveDocument.Range ←「型が一致しません」
  
  With r.Find
    .Text = "検索文字"
    If .Execute Then
      r.InsertAfter "挿入文字"
    End If
  End With

 '〜ファイル保存処理〜
 
  
End Sub

>▼あおぎんこ さん:
>
>Sub test()
>  Dim r As Range
>  
>  Set r = ActiveDocument.Range
>  
>  With r.Find
>    .Text = "検索文字"
>    If .Execute Then
>      r.InsertAfter "挿入文字"
>    End If
>  End With
>
>End Sub

【887】Re:検索文字の後ろに文字挿入
発言  マナ  - 19/7/3(水) 23:07 -

引用なし
パスワード
   ▼あおぎんこ さん:

>ご提示のコードを組み込んでみましたところ、Set r = ActiveDocument.Range 
>のところで型が一致しません と出ます。

Sub test()
  Dim strFile As String
  Dim wrdApp As Object
  Dim wrdDoc As Object
  Dim wrdRng As Object
 
  strFile = "ダイアログで選択したWordファイルのフルパス"
  
  Set wrdApp = CreateObject("Word.Application")
  w rdApp.Visible = True
  Set wrdDoc = wrdApp.Documents.Open(strFile) '指定のワードファイルを開く

  Set wrdRng = wrdDoc.Range
  With wrdRng.Find
    .Text = "検索文字"
    If .Execute Then
      wrdRng.InsertAfter "挿入文字"
    End If
  End With

  '〜ファイル保存処理〜
 
End Sub

【888】Re:検索文字の後ろに文字挿入
質問  あおぎんこ  - 19/7/4(木) 19:23 -

引用なし
パスワード
   ▼マナ さん:

さっそくの回答ありがとうございます。
ご提示のコードに変更しましたら、エラーは出なくなりました!

しかしながら、、
検索文字の後ではなく、ファイルのいちばん最後に文字が挿入されます。

質問ばかりで申し訳ないですが、解決方法がありましたら、ご教示いただ
けるとありがたいです。

よろしくお願いいたします。

>▼あおぎんこ さん:
>
>Sub test()
>  Dim strFile As String
>  Dim wrdApp As Object
>  Dim wrdDoc As Object
>  Dim wrdRng As Object
> 
>  strFile = "ダイアログで選択したWordファイルのフルパス"
>  
>  Set wrdApp = CreateObject("Word.Application")
>  w rdApp.Visible = True
>  Set wrdDoc = wrdApp.Documents.Open(strFile) '指定のワードファイルを開く
>
>  Set wrdRng = wrdDoc.Range
>  With wrdRng.Find
>    .Text = "検索文字"
>    If .Execute Then
>      wrdRng.InsertAfter "挿入文字"
>    End If
>  End With
>
>  '〜ファイル保存処理〜
> 
>End Sub

【889】Re:検索文字の後ろに文字挿入
発言  マナ  - 19/7/4(木) 20:17 -

引用なし
パスワード
   ▼あおぎんこ さん:

>検索文字の後ではなく、ファイルのいちばん最後に文字が挿入されます。

>>      wrdRng.InsertAfter "挿入文字"

この通りしていますか。
変更していませんか。

【890】Re:検索文字の後ろに文字挿入
お礼  あおぎんこ  - 19/7/5(金) 12:06 -

引用なし
パスワード
   ▼マナ さん:

>この通りしていますか。
>変更していませんか。

すみません!
きちんとコードを転機できておりませんでした。
修正しましたところ、目的の動作ができました。

ありがとうございました。
大変助かりました。

6 / 306 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
206455
(SS)C-BOARD v3.8 is Free