- 締切済み
エクセルマクロ文で教えてください。
お世話になります。 エクセルマクロ文で セルD6 に保存するドライブ名(C とか D) セルD7に保存するフォルダ-名(資料2016 とか 閲覧2016 など) セルD8にファイル名 を置いて、 ドライブ名やフォルダ-名を任意に選択できる形で、作成したエクセルシ-トを保存するマクロ文を、お教えください。 ThisWorkbook.SaveAs "D:\資料2016"&fileName というような形で、fileName=Range(”D8”)と置いてあるのですが、ドライブ名とフォルダ-名とをD6とD7に任意の値を置いて当該文字によるドライブとフォルダ-にD8に記入したファイル名で保存したいというマクロ文を、お教えください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- SI299792
- ベストアンサー率47% (780/1632)
おっしゃっていることがわかりません。 ドライブとフォルダ-名を担当者が入力するとしても、上記でできると思います。 新規作成とありますが、新規作成したワークブックには、マクロは入っていないので、不可能かと思います。 保存するドライブ名・フォルダ-名・ファイル名がD6,D7,D8とは限らないということでしょうか? その都度任意のドライブに任意のフォルダ-名を作成してということは、フォルダをプログラムで作るということでしょうか?であれば On Error Resume Next MkDir [D6] & ":\" & [D7] On Error GoTo 0 でフォルダはできます。
- SI299792
- ベストアンサー率47% (780/1632)
フォルダ-名が絶対パスで入っているなら ThisWorkbook.SaveAs [D6] & ":\" & [D7] & "\" & [D8] フォルダ-名が相対パスで入っているなら ThisWorkbook.SaveAs [D6] & ":" & [D7] & "\" & [D8] (その前にChdir でフォルダのある場所の指定が必要になります) [D6]はRange("D6") の略式の書き方です。 ところで、エクセルのバージョンは?私のは2013なのでマクロ付きは後ろに , FileFormat:=xlOpenXMLWorkbookMacroEnabled を付けないと、できませんでした。古いエクセルなら、つける必要はありません。
お礼
重ね言葉で申し訳ございません。 頂戴致しましたマクロ文で簡単にドライブ選択からフォルダ-名&ファイル名を作成保存が出来ました。 また「D6」が(”D6”)に代替出来るという初心者にとっては目からウロコという状態でございました。 本当にありがとうございました。 拝
補足
お世話になります。 事前にドライブとフォルダ-名とを作成しておいて、当該個所にファイルを保存する形は完了しているのですが、保存の都度ドライブが C OR D の担当部署別の選択となり フォルダ-名も同様に複数となる形でございます。 事前に作成してあるのではなく、その都度任意のドライブに任意のフォルダ-名を作成してVS但しドライブ名及びフォルダ-名はセルD6及びD7に記入させて(新規作成後は登録済となる為に既存記入分の選択になります-デ-タ-入力規則で選択)D8に記入したファイル名で保存という形を念頭に置いております。 御手数を掛けて申し訳ございませんが、新規作成時のドライブの選択及びフォルダ-名の作成につきましてもお教えください。 フォルダ-名及びファイル名はデ-タ-入力規則を設定し重複作成が生じないように設定しております。
お礼
御教授ありがとうございました。 パソコンの使用状況によりCドライブのみの使用者やDドライブだけでなくFドライブまで作成している使用者もおりますので、各個人毎のパソコンで作成した資料をUSBに落として取り纏め用のパソコンに移動保存させる目的でのマクロ文を作成したかったという事情でございます。 解りづらい質問文に勿体ない回答を頂戴致しまして本当に感謝しております。 今一度デ-タ-管理状況手順自体をチェックいたしまして、いただきましたマクロ文を活用させていただきます。 御多用中にもかかわらず本当にありがとうございました。 拝