- ベストアンサー
VBAのopenとcloseメソッドの使い方
- VBAのopenとcloseメソッドを使用して、受注登録ファイルを保存・開く方法について詳しく教えてください。
- 具体的なコード例を示していただけると助かります。
- 初心者でも理解しやすい説明をお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ご相談に掲示された3つのマクロの命令の代わりに,次のように変更します。 ’名前を付けて保存し,閉じる activeworkbook.saveas filename:="\\サーバー\data\ SYSTEM\受注情報\受注情報 " & Cells(6, 6) & Format(Date, "yymmdd") & Format(Time, "hhmm") & ".xls" activeworkbook.close false 1つ目の間違い: savecopyasを使っていますが,この場合は間違いです。 この命令は対象の(テンプレートから開いている)ブックを,「現在開いているブックの名前を変えずに別名でコピーを保存する」命令です。そのマクロだけを単独で実行してみて,テンプレートから開いたブックは何の影響も受けずにそのまま画面に残っている様子を確認してください。 2つ目の間違い: テンプレート(受注伝票.xlt)を開いた場合に「実際に開かれているブック」は「受注伝票.xlt」ではありません。手動でテンプレートを開く操作を行い,またマクロで workbooks.open filename:="\\サーバー\data\ SYSTEM\受注伝票.xlt" を実行して,実際に開かれるブックの名称を目で見て確認し,実際のエクセルの動作としては受注伝票.xltが開かれてなどいないことを理解してください。 従って,当然「受注伝票.xltを閉じる」操作も間違いです。 3つ目の間違い: workboook.Open … workboook.Close … いずれも完全なケアレスミスで,誤字があります。
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
問題点(1) 書き間違えと思いますが、workboookはないです。Workbook の間違えですよね。 問題点(2) 名前をつけて保存した段階で、 ファイル名が受注伝票.xltから受注登録1102191315.xlsに変わってるので 保存したExcelを開くと受注伝票を閉じるは意味がないと思います。
お礼
テンプレートを使うのであればsavecopyasは必要なかったんですね… 2番目は…申し訳ありません、Openの段階で詰まっていたので、 Closeがどう動くのかは検証しておりませんでしたが、 テンプレートは開いた上体で既に.xlsになっているのですね 3番目の間違いは非常にお恥ずかしい… そりゃ動かないわ…と… 素早いご回答ありがとうございます。 本当に助かりました。