質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

Q&A

解決済

2回答

2140閲覧

拡張子docをExcelからVBAでdocxもしくはdocmに変換したい

syusa

総合スコア10

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

0グッド

0クリップ

投稿2022/11/12 06:23

エクセルのシートにワードファイルのパスが記載されています。
A列,B列
パス,ファイル名0. 番号リスト
C:,abc.doc
C:\Users\xxx\Documents,123.doc
C:\Users\xxx\OneDrive\doc,あいう.doc




ExcelのVBAから、拡張子をdocからdocxあるいは、マクロを含んでいる場合はdocmに変換したいです。
元ファイルのdocはそのまま残します。

シートに書かれたファイルパス一覧を基に実行したいので、エクセルからワードを制御したいです。

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

エクセルからワードを制御したいです。

VBA

1' 最初にこれをやっておいて、 2Set WORD = CreateObject("Word.Application") 3WORD.Visible = True '必要に応じて 4 5' 以降は、対象ファイルごとに、普通のワードのVBAと同じ 6Set doc = WORD.Documents.Open(ファイルパス) 7~~~

投稿2022/11/12 18:04

otn

総合スコア84529

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syusa

2022/11/12 23:17

ありがとうございます。 If WORD.HasVBProject = True Then MsgBox "VBAあり" Else MsgBox "VBAなし" End If で判定できました。ありがとうございました。
guest

0

自己解決

Sub main00()
Dim WApp As Object
Dim WDoc As Word.Document
Dim Lr As Long
Dim Fil0 As String, Fil1 As String, Fil2 As String, Fil3 As String

Lr = Cells(10000, 1).End(xlUp).Row Set WApp = CreateObject("Word.Application") ' Word起動 WApp.Visible = True '画面更新を止める Application.ScreenUpdating = False For i = 1 To Lr 'A列ファイル名、B列パス,C列フルパス Fil0 = Cells(i, 3) Fil1 = Cells(i, 1) Fil2 = Cells(i, 2) tmp = Split(Fil1, ".") Fil3 = tmp(0) '該当ファイル開く Set WDoc = WApp.Documents.Open(Fil0) If WDoc.HasVBProject = True Then MsgBox Fil2 & Fil3 & ".docm" WDoc.SaveAs2 Fil2 & Fil3 & ".docm", wdFormatXMLDocumentMacroEnabled Else MsgBox Fil2 & Fil3 & ".docx" WDoc.SaveAs2 Fil2 & Fil3 & ".docx", wdFormatXMLDocument End If '該当ファイル閉じる WDoc.Close Next i 'Word終了 WApp.Quit '画面更新再開 Application.ScreenUpdating = True

End Sub

投稿2022/11/13 00:20

syusa

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問