![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
以下のvbaを実行すると、次のように動作します。
test1.xlsを開いて、Atest1.xlsの名前で保存するときに、既にファイルが存在する場合、excelでは上書き保存するか聞いてきます。
しかし、test1.docを開いて、Atest1.docの名前で保存するときは、いきなり上書き保存されます。
wordの場合も上書き保存するか聞くようにするには、どうしたら良いか教えてください。
Workbooks.OpenText Filename:="test1.xls"
ActiveWorkbook.SaveAs Filename:="Atest1.xls"
ActiveWindow.Close
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim wordRange As Word.Range
Set wordApp = New Word.Application
wordApp.Visible = True
Set wordDoc = wordApp.Documents.Open(ThisWorkbook.Path & "\test1.doc")
Set wordRange = wordDoc.Content
wordDoc.SaveAs Filename:="Atest1.doc"
wordDoc.Close
wordApp.Quit
No.2ベストアンサー
- 回答日時:
こんばんは。
>test1.docを開いて、Atest1.docの名前で保存するときは、いきなり上書き保存されます。
'Atest1.doc' を保存する前に、Dir() でファイルの存在をチェックすればよいと思います。
If Dir("Atest1.doc") <> "" Then
If MsgBox("すでにファイルがありますが、上書きしてよろしいですか? ", vbOKCance) = vbOK Then
wordDoc.SaveAs Filename:="Atest1.doc"
End If
End If
回答有難うございました。
実際に動かしてみてokでした。
no.1の回答でもokでした。
でも、こちらの方がシンプルですね。
もう少し違いを勉強してみます。
No.1
- 回答日時:
VBAヘルプによると
_________________________________________________________________________________________________________________________
SAVEas メソッドでは
FileName 省略可能です。バリアント型 (Variant) の値を指定します。文書の名前を指定します。
既定値は、現在のフォルダおよびファイル名です。文書がまだ 1 回も保存されていない場合、既定の名前 (たとえば、Doc1.doc)
が使用されます。指定したファイル名が既に存在する場合、文書が上書きされます。このとき、
上書きするかどうかを確認するメッセージは表示されません。
_________________________________________________________________________________________________________________________
下記のメソッドを使って解決できるのでは・・・・・
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
FileExists メソッド
機能
指定されたファイルが存在する場合は、真 (True) を返します。存在しない場合は、偽 (False) を返します。
構文
object.FileExists(filespec)
FileExists メソッドの構文は、次の指定項目から構成されます。
指定項目 説明
object 必ず指定します。FileSystemObject オブジェクトの名前を指定します。
filespec 必ず指定します。存在するかどうかを調べるファイルの名前を指定します。カレント フォルダ内にないファイルの場合は、
フル パスを指定する必要があります。絶対パス、または相対パスのどちらでも指定できます。
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
以下のソースにしてみてはいかが? (デバッグしてませんので 要チェックです)
DIm SvFileName as string
DIM M as integer
SvFileName = ThisWorkbook.Path & "\Atest1.doc")
Set objFso = CreateObject("Scripting.FileSystemObject")
'ファイルの有無チェック
If objFso.FileExists(SvFileName) = True Then
M=MSGBOX( "同じファイルが存在します上書きしてもよろしいですか?",VBYESNO)
if m = VBNO then
goto EXLB1
end if
end if
wordDoc.SaveAs Filename:=SvFileName
EXLB1:
wordDoc.Close
wordApp.Quit
__________________________________________________________________________________________________________________________________________
なお、このあたりの Exists に関する情報としては以下が参考になるのでは
「VBScript」でのファイルのコピーについて
http://okwave.jp/qa3479988.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) evcel VBAについて 2 2022/08/02 21:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAでファイル名を指定して保存するとき 4 2023/03/26 21:55
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでファイルの最終更新...
-
Excel VBAで作成したマクロをxl...
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
タイトルバーやメニューバーの...
-
VB.NETでEXCELファイルを開き、...
-
VBAで、強制保存してブックを閉...
-
VBScriptで日本語が変です
-
コマンドプロンプトでデスクト...
-
Vistaの、ファイル検索機能を、...
-
返信機能つき掲示板
-
EXCEL/VBA:WORDファイルの上書...
-
Excel VBA で困っています。
-
PowerPointVBA複数ファイル一括...
-
「名前をつけてファイルを保存...
-
VB6.0でエクセル保存する時の保...
-
html 保存できない
-
保存した雛形メールを開くと、...
-
IEのダウンロードファイル保存...
-
【Excel VBA】自動的にバックア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
コマンドプロンプトでデスクト...
-
Excel VBAで作成したマクロをxl...
-
vbaでIEの名前を付けて保存(A)...
-
エクセルVBAについて
-
VBAで、強制保存してブックを閉...
-
ExcelVBAでデスクトップのPATH...
-
エクセルで「名前を付けて保存...
-
VBA メモ帳の上書き保存がしたい
-
VBScriptで日本語が変です
-
タイトルバーやメニューバーの...
-
Pivot table で集計されたデー...
-
エクセルマクロ PDF出力、CSV出力
-
VBSでHPを保存するにはど...
-
AccessVBAでレポートをPDFで出力
-
htmlから取り込んだ を消...
-
ASPでファイルを保存するダイア...
-
VBScriptでのSaveAsについて
-
CFileDialogで保存したい
おすすめ情報