お世話になります。
表題を目的にNETで調べてみたらズバリのコードが見つかったのですが、
https://www.wordvbalab.com/code/12204/
これをコピペして実行させると
5行目の
> Dim myDoc As Document 'Wordファイルのオブジェクト
で止まって
>ユーザ定義型は定義されていません
とエラーになるのですが、どこを変えれば良いのでしょう?
Sub フォルダ内のWordファイルをPDFにする()
Dim fld As FileDialog 'フォルダ選択のダイアログ表示用
Dim myFileName As String 'Wordファイル名
Dim myFolderPath As String 'Wordファイル保存先のフォルダパス
Dim myFilePath As String 'Wordファイル/PFDファイルのパス
Dim myDoc As Document 'Wordファイルのオブジェクト
Dim intPos As Integer 'Wordファイル名取得用のピリオドの位置
'-------------------------------------------
'フォルダの選択
'-------------------------------------------
Set fld = Application.FileDialog(msoFileDialogFolderPicker)
If fld.Show = 0 Then Exit Sub
myFolderPath = fld.SelectedItems(1)
myFileName = Dir(myFolderPath & "\*.doc*")
If myFileName = "" Then
MsgBox "選択したフォルダ内に、Wordファイルがありません。"
Exit Sub
End If
'-------------------------------------------
'WordファイルをPDFファイルに変換
'-------------------------------------------
Do While myFileName <> ""
'Wordファイルを開く(非表示)
myFilePath = myFolderPath & "\" & myFileName
Set myDoc = Documents.Open(FileName:=myFilePath, Visible:=False)
DoEvents
'拡張子のない名称を取得
intPos = InStrRev(myFileName, ".")
myFileName = Left(myFileName, intPos - 1)
'PDF形式で保存(ファイル名先頭に「PDF_」と挿入)
myDoc.ExportAsFixedFormat _
OutputFileName:=myFolderPath & "\PDF_" & myFileName & ".pdf", _
ExportFormat:=wdExportFormatPDF
DoEvents
'Wordファイルを閉じる
myDoc.Close wdDoNotSaveChanges
DoEvents
'次のWordファイルを検索
myFileName = Dir()
Loop
Set myDoc = Nothing
Set fld = Nothing
End Sub
No.3
- 回答日時:
上記URLのマクロを当方で試したところ、何の問題もなく、実行され終了します。
従って、No.1さんのご指摘のとおり、このサイトのカテゴリ相違(Wordマクロのご質問をExcelカテゴリで質問された)と同様にEXCELのVBAに上記URLのコードを記載して、実行している可能性が高いと推測されます。
これでは正しく動作しないのは当然です。
Wordのマクロとして実行してみてください。
早々のご回答ありがとうございました。
#No2さんのご回答でも指摘がありました通り、このVBAをワードで動かす準備として、VBA編集の画面のツールの参照設定で
>Microsoft WordXXX Object Library
にチェックを入れる、とあってこれをチェックしたら使えるようになりました。
ありがとうございました。
No.1
- 回答日時:
こんにちは
ざっと見る限り問題なさそうに思いますけれど・・・?
ワードのマクロですから、ちゃんとワード上で実行してますよね?
もしかして、違うアプリケーションから実行しようとしていませんか?
その場合は、エラーになる可能性が充分にあります。
(VBAのAはアプリケーションの意で、アプリケーション依存ですから)
早々のご回答ありがとうございました。
土日に色々調べてみたら他の同様のVBAのコードの紹介記事にワードでエクセルのVBAを動かすための準備として、VBA編集の画面のツールの参照設定で
>Microsoft WordXXX Object Library
にチェックを入れる、とあってこれをチェックしたら使えるようになりました。
織がとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルファイルを開かずにpdf化する
その他(ソフトウェア)
-
複数のWordファイルに一括でPDFファイルにしたい
Word(ワード)
-
フォルダ内のexcelファイルを順に開いて印刷して閉じるマクロを作りたいのでご教授お願いします。
Excel(エクセル)
-
-
4
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
-
5
Wordで差込印刷した後に別々のファイル名をつける
Word(ワード)
-
6
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
excelのリストボックスで選択した項目をアクティブセルに入力方法
Excel(エクセル)
-
9
PDFファイルをコピーしてエクセルブックにはりつけるVBA
Excel(エクセル)
-
10
(実行時エラー5852)ExcelデータをWordに差し込んだ後、Wordファイルを分割するマクロ
Word(ワード)
-
11
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
12
★Excelファイルの指定したシートを、一括PDF化するマクロが組めない★
Visual Basic(VBA)
-
13
VBAで指定シート以外の選択
Visual Basic(VBA)
-
14
5000個のtiffファイルをpdfへ変換する必要があります。100〜500個づつバッチ処理が出来な
オープンソース
-
15
自動でpdf化したい
PDF
-
16
PDFを結合して一つのPDFファイルにしたい。
PDF
-
17
VBA フォルダ名に特定の文字を含むフォルダを別フォルダにコピーするコードを教えて下さい
Visual Basic(VBA)
-
18
ファイル一覧表を使ったファイルの移動
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Photoshop【ファイルがロックさ...
-
PDFファイルが開けるのと開...
-
LANDISKをAIX(UNIX系OS)にマ...
-
CADについて
-
HULFTとOWFTの違いに...
-
photoshopで異なるファイル間で...
-
エクセルのファイルが一瞬開く...
-
bmpファイルが開きません。
-
Photoshopでファイル名をレイヤ...
-
Makefileが実行できない
-
フォトショップ「互換性を優先...
-
「反復計算を行う」について。
-
Windows Live Mailの添付ファイ...
-
二つのexeファイルの比較がしたい
-
特にExcelのファイルが開かない...
-
Excel2003のブックがダブルクリ...
-
WINRARで”書庫をテスト"の操作...
-
win10で1つのフォルダ内に保存...
-
パワーポイントに挿入したエク...
-
フォルダ・ファイルの順番を自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二つのexeファイルの比較がしたい
-
HULFTとOWFTの違いに...
-
フォルダ内のワードファイルをP...
-
Photoshop【ファイルがロックさ...
-
PDFファイルが開けるのと開...
-
CADについて
-
Makefileが実行できない
-
.MANファイルを開けたいのですが…
-
パソコンに保存した写真ファイ...
-
Windows Live Mailの添付ファイ...
-
拡張子DAT
-
フォトショップ「互換性を優先...
-
bmpファイルが開きません。
-
UWSCからvbsファイルを呼ぶ方法
-
「反復計算を行う」について。
-
ファイルのアイコンの種類が変...
-
「JPEGファイル」と「JPEGイメ...
-
エクセルのファイルが一瞬開く...
-
photoshopで異なるファイル間で...
-
WINRARで”書庫をテスト"の操作...
おすすめ情報