[[20190726084457]] 『xlsmをxlsxで保存』(かえで) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『xlsmをxlsxで保存』(かえで)

タイトル通りなんですが、xlsmをxlsxで保存するための方法を模索してます。
vbaに関しては初心者なので他の方のコードを参考してます。
ネット上でこのようなコード見ました。

Dim fname As String
Application.DisplayAlerts = False
fname = "aaa.xlsx" '
Sheets.Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & fname
ActiveWorkbook.Close
Application.DisplayAlerts = True

このコード場合だと同じ場所にxlsxファイルに変換してくれました。
ただ私の場合別の場所(フォルダ)に保存したいのですがどのように変更すればいいですか? みなさんよろしくお願いします

< 使用 Excel:Excel2007、使用 OS:Windows10 >


 >ThisWorkbook.Path

 ここを「別の場所(フォルダ)」で指定してやればいいです。

 ※ブックの種別を指定しないでブック名だけ変えてますが、それは大丈夫ですか?
(カリーニン) 2019/07/26(金) 09:12

 参考HPです。

https://excwlvba.blogspot.com/2013/04/workbooksaveas.html
(カリーニン) 2019/07/26(金) 09:15


>タイトル通りなんですが、xlsmをxlsxで保存するための方法を模索してます。

これがちょっとわかりません。

Sheets.Copy

の時点で新規ブックにコピーされ保存されていないBookが出来上がるはずです。
(保存されていないので、xlsm でも、xlsx でもありません)

それを指定のパスに指定のファイル形式で保存したいということですよね?

これでしたら、自動記録で、OKなのでは?

保存先も記録されますし。

(渡辺ひかる) 2019/07/26(金) 09:48


返信ありがとうございます。

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\D\新しいフォルダー" & fname
カリーニンさんのアドバイスで試してみましたが実行時エラー 1004と出てうまくいきませんでした。
書き方がおかしいのでエラーが出るのだとは思いますが指摘してもらえると幸いです。
よろしくお願いします
(かえで) 2019/07/26(金) 13:16


 ThisWorkbook.Path
 は、このマクロが記述されているブックが格納されたフォルダ
 を意味します。

 このマクロが記述されているブックが格納されたフォルダの直下に
 D
 というフォルダがあり、そのフォルダの中に
 新しいフォルダー" & fname
 という名前のブックを保存する、という記述になっています。
(カリーニン) 2019/07/26(金) 13:31

 あと、再掲です。

 ※ブックの種別を指定しないでブック名だけ変えてますが、それは大丈夫ですか?
(カリーニン) 2019/07/26(金) 13:32

何度も質問答えてくださってありがとうございます
保存先のフォルダーは全く別のドライブになりますので、
先ほど回答してくださった
"このマクロが記述されているブックが格納されたフォルダ”
とは異なります。だからエラーが出たのでしょうか。

指定した保存先を選ぶ事は出来るのでしょうか?
また可能な場合はどういったコードの記述になりますか?
それとカリーニンさんの
※ブックの種別を指定しないでブック名だけ変えてますが、それは大丈夫ですか?
なんですが、多分大丈夫だと思います。
ひょっとするとちゃんと理解できてないかもしれません。
何度も申し訳ありませんがよろしくお願いします
(かえで) 2019/07/26(金) 14:51


 カリーニンさん、
 Sheets.Copy 
 でVBAが記述されたブックのシートがまるまる新規ブックにコピーされ、そのブックがアクティブになる。
 で、その新規ブックをXLSXで保存している。
 なのでEXCELのオプションの保存-ブックの保存-ファイルの保存形式がXLSXになっていれば
 保存形式と拡張子が矛盾することもないのでは?
(ねむねむ) 2019/07/26(金) 15:00

 >なのでEXCELのオプションの保存-ブックの保存-ファイルの保存形式がXLSXになっていれば
 これは間違いだった。
 新規ブックの場合SaveASでファイル形式を指定しない場合、XLSX形式になるようだ。
 ファイル名で拡張子をXLSMにするとファイル形式と拡張子があって無いというエラーになった。
(ねむねむ) 2019/07/26(金) 15:22

 拡張子(ファイル形式)の件は私の見落としでした。
 失礼いたしました。

 フォルダ選択に関しての参考HPです。
https://www.relief.jp/docs/excel-vba-select-folder.html
(カリーニン) 2019/07/26(金) 21:52

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.