No.4ベストアンサー
- 回答日時:
こんにちは。
Wendy02です。>Application.Quit
>'Application.Quit
>は何が違うんでしょうか?
いえ、私の個人的な経験からです。どうも、アプリケーション(Word)をいきなり閉じてしまうということに抵抗があったから、コメントアウト(「'」を先頭につけること)していたのです。
すんなり終わってくれればよいのですが、何かが、プロセス上で残る可能性を心配して、問題なければ、そのコメントアウトを外してくれればよい、ということで書きました。
なお、テキストファイル全部をWord ドキュメントに変換して、閉じるのなら、以下のようにすればよいと思います。(Word .Doc は、そのままになります) 同じファイル名の場合は、枝番が付きます。
8114301a.txt
↓
8114301a.doc
↓
8114301a_1.doc '間違って同じテキストファイルを開けて行った場合
試してみてください。
'------------------------------------------------
Sub DocsSaves()
Dim wd As Variant
Dim FileName As String
Dim SaveName As String
Dim i As String
Const Ext As String = ".doc" '拡張子
Const MYPATH As String = "C:\Documents and Settings\[ユーザー名]\デスクトップ\Word\"
For Each wd In Application.Documents
If InStr(wd.Name, ".txt") > 0 Then
SaveName = Mid(wd.Name, 1, InStrRev(wd.Name, ".") - 1)
'同名がある時は枝番をつける
Do While Dir(MYPATH & SaveName & Ext) <> ""
i = "_" & CStr(Val(Mid(i, 2)) + 1)
SaveName = SaveName & i
Loop
wd.SaveAs MYPATH & SaveName, FileFormat:=wdFormatDocument
SaveName = ""
i = ""
End If
wd.Close False
Next wd
Application.Quit
End Sub
'------------------------------------------------
もしかしたら、余計な部分を入れてしまったかもしれません。その時はおっしゃってください。
この回答への補足
ありがとうございます。一度に開いているワード全てのファイルの拡張子をかえて、目的のフォルダーに保存することが出来ました。
以下について、良く理解できなかったのですがどういうことでしょうか?
8114301a.txt
↓
8114301a.doc
↓
8114301a_1.doc '間違って同じテキストファイルを開けて行った場合
よろしければ、解説お願いします。
No.5
- 回答日時:
こんにちは。
Wendy02です。こちらでは、一太郎ファイルがありませんので、txt ファイルで試しています。それで誤解を与えてしまいました。
同じ一太郎ファイルを開ける可能性がなければよいのですが、先ほどやってみて、同じファイルを開けて行うと、ダイアログが出てきて、「既にそのファイルはある・・・」なんていうメッセージが出てきます。
Application.DisplayAlerts = False なんていう技もありますが、それで、前のものを消すのも問題かなって思って、枝番をつけて保存することにしました。
Wordで 以下のファイルを開けました。
8114301.jtd (一太郎ファイル)
↓
8114301.doc (Wordファイルで保存)
8114301.jtd (もう一度同じ 一太郎ファイルを知らずに開けて実行してしまった)
↓
8114301_1.doc (枝番をつけて、Wordファイルとして保存)
ということをします。
8114301.doc
8114301_1.doc
と同じものですが、上書きせずに、枝番で別のファイルになっています。
余計なことかとは思いましたが、上書きしてなくなってしまう、安全を考えました。お分かりになりますでしょうか?
ありがとうござます。理解できました。8114301と言うのはファイル名だったんですね。何かのコードかと思いました。(笑)
問題なく目的の作業が出来るようになり、感謝いたします。ありがとうございました。ホントに助かりました。
No.3
- 回答日時:
こんにちは。
Wendy02です。>デスクトップ上のワードというフォルダーに保存する。
キメウチ(固有のPCのデスクトップ)でよろしいですか?
キメウチでない(どのPCにも応用できるもの)と、少し考えなくてはなりません。。
例えばこんな風にして
MY_PATH As String = "C:\Documents and Settings\[ユーザー名]\デスクトップ\Word\"
[ユーザー名], Word の部分をそちらのPCに合うように書き換えてください。
Sub TestSaveR()
Dim FileName As String
Dim SaveName As String
Const MYPATH As String = "C:\Documents and Settings\[ユーザー名]\デスクトップ\Word\"
FileName = ActiveDocument.Name
SaveName = Mid(FileName, 1, InStrRev(FileName, ".") - 1)
ActiveDocument.SaveAs MYPATH & SaveName, FileFormat:=wdFormatDocument
ActiveDocument.Close False
Application.Quit
End Sub
この回答への補足
Wendy02さん
ありがとうございます!出来ました。感謝です。
しかし、ファイルを同時に10個開いて、一つ目のファイルで実行すると一つ目のファイルは保存できるんですが、その他のファイルも同時に閉じてしまいます。最初に教えていただいた方法だと一つずつマクロを実行することが出来たんですが・・・。よろしくお願いします。
自分なりに考えて、以下の行を削除したらうまく行きました。
Application.Quit
本当にありがとうございました。最後にもう一つ質問させてください。
Application.Quit
'Application.Quit
は何が違うんでしょうか?
No.2
- 回答日時:
こんばんは。
たぶん、ファイルフォーマットを変えてあげないといけないのだと思います。
拡張子は、以下の
& ".doc"
は、本来要りませんが、一応、拡張子は、Wordの標準で付けておきます。
また、保存先が、以下の場合、カスタマー設定のデフォルトフォルダになります。当たり前のことですが、一応、VBAのコードの保存先は、Normal.Dot 側がよろしいかと思います。
Sub TestSave()
Dim FileName As String
Dim SaveName As String
FileName = ActiveDocument.Name
SaveName = Mid(FileName, 1, InStrRev(FileName, ".") - 1) & ".doc"
ActiveDocument.SaveAs SaveName, FileFormat:=wdFormatDocument
ActiveDocument.Close
'Application.Quit
End Sub
この回答への補足
ありがとうございました。出来ました。大変助かります。
>保存先がカスタマー設定のデフォルトフォルダー・・・
こちらは変更できるでしょうか?もしくは、特定のフォルダーに保存するように出来るでしょうか?
例えば、デスクトップ上のワードというフォルダーに保存する。と言う感じです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/11 11:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Word(ワード) office 2021へ自分用のクイックアクセスとマクロをコピーしたい 2 2023/03/11 21:15
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/03/31 12:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL、上書き保存したは...
-
Excelで勝手に保存画面に飛びま...
-
拡張子のないファイルの作成
-
txt ファイル (テキストフ...
-
右クリックでワードパッドが出...
-
共有フォルダの件
-
PUBファイルをパブリッシャー以...
-
拡張子tmpファイルを開く方法
-
ZIPファイル内のファイルを...
-
auのスマフォでPDFを見るには・...
-
Lファイルという画像をマイピク...
-
Image-Jの使い方を教えて下さい
-
オフラインファイルの保存先
-
コマンドプロンプトの印刷について
-
エクセルでファイルを早く開く...
-
【Access】テーブルをエクスポ...
-
天鳳のIDを忘れてしまった時の...
-
wordの「docx」ファイルを「tex...
-
エクセルのファイル名が「開く...
-
Webページ完全で保存した関連付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL、上書き保存したは...
-
txt ファイル (テキストフ...
-
Excelで勝手に保存画面に飛びま...
-
ZIPファイル内のファイルを...
-
拡張子のないファイルの作成
-
拡張子tmpファイルを開く方法
-
auのスマフォでPDFを見るには・...
-
one driveでデスクトップを共有...
-
文書内の表が破損しています、...
-
PUBファイルをパブリッシャー以...
-
【Access】テーブルをエクスポ...
-
VBAファイルの保存先について
-
エクセルのファイル名が「開く...
-
クライアントは要求された特権...
-
フォルダー内のファイル名一覧...
-
複数あるテキストボックス中の...
-
閲覧したwebページの画像が自動...
-
共有フォルダの件
-
Wordの保存形式でwebページの意...
-
メールで送られてきたエクセル...
おすすめ情報