VBA初心者です。色々検索して下記を作成しました.
ワードでは統合できたのですが、順番がばらばらになり修正に時間を要すため、エクセルVBAで統合前のファイル名を取得し、統合順に先頭に連番をつけ該当セルのファイル名に変更して保存しました。
引き続きエクセルで統合できないかやってみると、11行目で「実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません」がでます。エクセルでは無理なのか、修正すれば可能なのかをなるべく易しく教えていただけるとありがたいです。
宜しくお願いいたします。参照設定済みです。
Dim fld As FileDialog,myFileName As String,myFilePath As String,mySecNum As Integer,WordApp As Word.Application
Set WordApp = New Word.Application
Set fld = Application.FileDialog(msoFileDialogFolderPicker)
If fld.Show = 0 Then Exit Sub
myFilePath = fld.SelectedItems(1)
myFileName = Dir(myFilePath & "\*.doc*")
WordApp.Documents.Add Template:="C:\~.dotx"
Do While myFileName <> ""
With Selection
mySecNum = ActiveDocument.Range(0, Selection.Sections(1).Range.End).Sections.Count
With ActiveDocument.Sections(mySecNum)
With .Headers(wdHeaderFooterPrimary)
.Range.Text = "XXXXX"
End With
End With
End With
myFileName = Dir()
Loop
End Sub
No.1
- 回答日時:
11行目と記載するよりコードを抜き出した方が宜しいかと思いますよ。
特に Selection はExcelにもWordにも存在しますしね。
未経験ですが頭にWordオブジェクト変数:WordApp を付けて、
WordApp.Selection~
では無理かな?
ダメでしたらごめんなさい。
With Selection
Selection.Sections(1).Range.End ~
この2つが気になります。
特に下の方はExcelにはない(と思う) Sections が繋がってますし。
ご回答ありがとうございます。該当箇所にWordAppを足してみたところ進んだのですが、Loopでまた同じ
mySecNum = ActiveDocument.Range(0,WordAppSelection.Sections(1).Range.End).Sections.Count のところで
「実行時エラー4608 値が有効範囲を超えています」とでて止まりました。やはりExcelでは難しいのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ワードからエクセルへ貼り付けるマクロ
Excel(エクセル)
-
エクセルマクロでワードの一ページ目をコピーして新たに二ページを追加して、一ページ目の内容を貼り付ける
Visual Basic(VBA)
-
Wordファイルの結合
Visual Basic(VBA)
-
-
4
ExcelのVBAでWordを読み取り専用で開いて、見たいページに自動で移動する方法を教えて頂きたい
Excel(エクセル)
-
5
エクセルからワードのマクロを実行したい
Word(ワード)
-
6
Excel実行時エラー-2146959355?
IT・エンジニアリング
-
7
ページを抜粋して保存できますか?
Word(ワード)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
【ワード】マクロで画像を選択する
Word(ワード)
-
10
エクセルのVBAとワードを使った差し込み印刷
Word(ワード)
-
11
EXCELのVBAでWORDが開いてあるかチェック
Excel(エクセル)
-
12
【VBA】エクセルの指定セルの値を、Wordの指定場所に貼る方法
Excel(エクセル)
-
13
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
「Columns("A:C")」の列文字を...
-
エクセルマクロエラー「'Cells'...
-
Excelでフィルタをかけると警告...
-
VBAで Set wb = Sheets(1).Cop...
-
VBAで既に開いている別アプリケ...
-
ある文字列が全て数字であるか...
-
テキストボックス中の文字列の...
-
オブジェクトが見つかりません
-
ASP レコードセットしたオブジ...
-
[VBA]CDOメッセージ送信エラー
-
Cモジュールが落ちる現象について
-
上下の位置揃えについて
-
EXCEL VBA オートシェイプナン...
-
Visual Basic.NETのエラー("オ...
-
DelphiのTListについて
-
エクセルVBA 他ブックのシート...
-
VBScriptでファイルの日時順(降...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報
回答いただきありがとうございます。
統合について以下の箇所の転記がもれており申し訳ありませんでした。
With ActiveDocument.Sections(mySecNum)
.InsertFile FileName:=myFilePath & "\" & myFileName
.InsertParagraphAfter
.InsertBreak Type:=wdSectionBreakNextPage
End With
教えていただきました箇所について、下記の宣言を追加後
Dim WordApp As Word.Application Dim Doc As Word.Documents
Set Doc = WordApp.Documents.Add に修正したところ 実行時エラー91 オブジェクト変数またはWith ブロック変数が設定されていません。どこを修正すべきでしょうか。