
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】フォルダ内にあるPDFを合体させるには?有料版adobe必要?
Excel(エクセル)
-
エクセルマクロでワードの一ページ目をコピーして新たに二ページを追加して、一ページ目の内容を貼り付ける
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
Cell内の一部を指定する方法(Word VBA)
その他(Microsoft Office)
-
5
(実行時エラー5852)ExcelデータをWordに差し込んだ後、Wordファイルを分割するマクロ
Word(ワード)
-
6
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
7
Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
ExcelのVBAについて(グラフ操作)
-
Excelでフィルタをかけると警告...
-
VBA:オートシェイプの線の長...
-
VBA (Row とRowsの違いについて)
-
オブジェクト変数の取得について
-
実行時エラー 3265「要求された...
-
(初心者です)VBAについて。「実...
-
エクセルVBAで配列内に空白デー...
-
エクセルVBAでWeb画面の切り替え
-
テキストボックス中の文字列の...
-
エクセルのテキストボックスをV...
-
エクセルマクロエラー「'Cells'...
-
EXCELVBAグラフ凡例表示部分の...
-
エクセルVBAの散布図の近似曲線...
-
ASPからSELECT文を複数発行する...
-
VBからPDFファイル自動生成...
-
パワーポイントの動画オブジェ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
AccessVBAで「dim dbs as datab...
-
EXCEL VBA オートシェイプナン...
-
オブジェクト変数またはWITHブ...
-
[VBA]CDOメッセージ送信エラー
-
エクセルマクロエラー「'Cells'...
-
findメソッドの変数について
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
オブジェクト変数の取得について
-
CreateObjectとGetObjectの違い
おすすめ情報
回答いただきありがとうございます。
統合について以下の箇所の転記がもれており申し訳ありませんでした。
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 ブロック変数が設定されていません。どこを修正すべきでしょうか。