Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3219 / 13644 ツリー ←次へ | 前へ→

【63495】ファイルの保存方法 ももんが 09/11/12(木) 1:33 質問[未読]
【63496】Re:ファイルの保存方法 超初心者 09/11/12(木) 11:57 発言[未読]
【63498】Re:ファイルの保存方法 ももんが 09/11/12(木) 19:16 発言[未読]
【63500】Re:ファイルの保存方法 Abebobo 09/11/13(金) 9:13 発言[未読]
【63501】Re:ファイルの保存方法 超初心者 09/11/13(金) 9:24 発言[未読]
【63508】Re:ファイルの保存方法 ももんが 09/11/13(金) 22:16 お礼[未読]

【63495】ファイルの保存方法
質問  ももんが  - 09/11/12(木) 1:33 -

引用なし
パスワード
   こんにちは 
見よう見まねでVBAを組んでいます。


今自分が作ったプログラムを走らせ 処理終了前に

・現在開いているアクティブシートのみを別フォルダに保存。(ワークシートは複数存在)
・保存するファイル名は ファイル名の後ろにシステム日付をつけたい。
・すでに同じ名前のファイルが保存先に存在する場合、「上書き保存しますか?」等のメッセージは出さずに、強制的に上書き保存

ということをしたいのです。
現在VBAのソースは ワークシートに記述しています。


ファイル名          "テストデータ.xls"
保存したいアクティブシート名 "保存データ"
保存先ファイル        "D:\userAA\excelData"
保存後のファイル名      "テストデータ(システム日付)"

この条件でどうプログラムを組めばよいのか、ご教授願います。

補足ですが
シートを選択して保存する方法でも、別ブックで保存して不要なシートを削除する方法でもどちらでも構いませんが、保存したファイルには、プログラム自体は残したくなく、アクティブシートの中身だけを別ファイルとして保存したいです。
(保存したファイルを開いて、ワークシート上のコマンドボタンを押しても、何も起こらない状況にしたいということ)
保存元のファイル(テストデータ.xls)には、ファイルオープン時に、指定したファイル名と違う場合(テストデータ.xls以外のファイル名になっている場合)に、強制的にエクセルを終了するようにしています。
そういうのもなくしたいです。

どうすればよいでしょうか?

【63496】Re:ファイルの保存方法
発言  超初心者  - 09/11/12(木) 11:57 -

引用なし
パスワード
   ▼ももんが さん:
「マクロの記録」を使ってみてはいかがですか?

該当シートを新ブックへコピー(移動?)
新ブックを名前を付けて保存
(新ブックを閉じる)

こんな感じの動作でしょうか。


記録されたマクロにて、保存名を変数にして
日付を付随したものを渡してあげれば良いかと思います。

【63498】Re:ファイルの保存方法
発言  ももんが  - 09/11/12(木) 19:16 -

引用なし
パスワード
   ▼超初心者 さん:

お返事ありがとうございます。
マクロの記録は最初に考えましたが、

・すでに同じ名前のファイルが保存先に存在する場合、「上書き保存しますか?」等のメッセージは出さずに、強制的に上書き保存

が解決しません。

それと
>記録されたマクロにて、保存名を変数にして
>日付を付随したものを渡してあげれば良いかと思います。

これの記述の仕方からしてわかりません。
お恥ずかしながら・・・・

【63500】Re:ファイルの保存方法
発言  Abebobo  - 09/11/13(金) 9:13 -

引用なし
パスワード
   >等のメッセージは出さずに

Application.DisplayAlerts = False
'....処理
Application.DisplayAlerts = True

>日付を付随したものを

Sub hi()
Debug.Print Format(Date, "dddddd")
End Sub

試してみてください

【63501】Re:ファイルの保存方法
発言  超初心者  - 09/11/13(金) 9:24 -

引用なし
パスワード
   ▼ももんが さん:
> ・すでに同じ名前のファイルが保存先に存在する場合、
> 「上書き保存しますか?」等のメッセージは出さずに、強制的に上書き保存
>
> が解決しません。

最近の検索エンジンは言葉を補完してくれるので検索もしやすいです^^;;
「excel vba 上書き保存 確認」
Googleで検索してみて下さい。


> これの記述の仕方からしてわかりません。
マクロ記録すると
ActiveWorkbook.SaveAs Filename:="D:\userAA\excelData\〜" 〜
となりましたよね?

SaveAsが保存する命令?
Filenameがファイル名?
という想像はつくかと思います。

SaveAsをヘルプで調べるとやはりそのようです。

Dim myFileName As String
myFileName = "D:\userAA\excelData\テストデータ(" & Format(Date(),"yyyymmdd") & ").xls"
これを上記の記述で置き換えて

ActiveWorkbook.SaveAs Filename:=myFileName 〜

としてみると?
試してみましょう^^

【63508】Re:ファイルの保存方法
お礼  ももんが  - 09/11/13(金) 22:16 -

引用なし
パスワード
   Abeboboさん 超初心者 さん

ありがとうございました!
検索ひっかかりました。
感謝ですm(_ _"m)

上書き保存のメッセージは、検索先サイトからコピーでいけました(^^♪
ありがとうございます。

うまくできました。
わかりやすかったです。
ありがとうございました。

3219 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free