質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

3回答

3872閲覧

xls形式で保存したい

junkij

総合スコア4

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/08/20 05:36

編集2020/08/21 04:40

前提・実現したいこと

エクセルファイルをxls形式にて保存したい

発生している問題・エラーメッセージ

・発生している問題 VBAで保存したファイルだけ、 アイコンが白くなっている。 メールに添付もできない。 同じPCで、 VBAを使わずに保存すると ちゃんと緑のアイコンで保存される。 以上の事からVBA原因ではないかと思い、 質問させて頂きます。 どこか誤りがございましたら、ご教授お願い致します。

VBA

Sub 請求書番号と日付を名前にしてxls形式にて保存() Dim FileName As Variant FileName = Application.GetSaveAsFilename(InitialFileName:=Range(請求書番号のセル) & Format(Date, "ddmmyyyy"), FileFilter:="Excelファイル,*.xls*") If FileName = False Then Exit Sub End If ActiveWorkbook.saveas FileName End Sub

試したこと

いくつかのサイトを調べました。

https://pcclick.seesaa.net/article/461444208.html

https://jisaku-pc.net/hddhukyuu/archives/5803

https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_winother-mso_2010/%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E3%81%AE/5cd0bbd6-e5b6-422c-8ff4-9971218528af

イメージ説明

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/08/20 05:39

> いくつかのサイトを調べました。 回答が重複すると無駄なのでサイトのURLを提示してください。
guest

回答3

0

拡張子が付いていないのが原因かと思われます。
下記でどうでしょうか?

VBA

1FileName = Application.GetSaveAsFilename(InitialFileName:=Range("A1") & Format(Date, "ddmmyyyy") & "xls", FileFilter:="Excelファイル,*.xls*")

投稿2020/08/20 05:51

meg_

総合スコア10760

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatena19

2020/08/20 08:27

ドットが不足してませんか。 Format(Date, "ddmmyyyy") & ".xls"
meg_

2020/08/20 08:31 編集

当方の環境では「.」を付けると正しく動作しませんでしたので回答の通りとしました。(Windows8.1、Excel2013) ※質問者さんの環境が未記載のため自環境での結果を記入しました。 hatena19さんが検証された環境は何でしょうか?参考のため教えてください。
hatena19

2020/08/20 08:39

「.」を付けないと、「請求書番号20082020xls」というような拡張子のないファイル名になりました。 環境は、Windows10 Excel2019 です。
hatena19

2020/08/20 09:56

ちなみに、, FileFilter:="Excelファイル,*.xls" というようにフィルタを xls 固定にすると、 「請求書番号20082020xls.xls」というファイル名になりました。
meg_

2020/08/20 11:09

そうなんですね! 当方の環境では「.xls」を付けると、ダイアログのファイル名(初期値)が表示されませんでした。環境によって異なるんですね。
junkij

2020/08/21 04:21

ドットをいれたら解決しました。 ありがとうございました
junkij

2020/08/21 04:32

Windows7 Excel 2010? でした。
junkij

2020/08/21 04:45

FileName = Application.GetSaveAsFilename(InitialFileName:=Range(請求書番号のセル) & Format(Date, "ddmmyyyy") & ".xls", FileFilter:="Excelファイル,*.xls*") If FileName = False Then Exit Sub End If ActiveWorkbook.saveas FileName としてみたところ、緑のアイコンで保存され、メールに添付も可能になりましたが、質問欄に追加した画像のようなエラーが出てしまいました。取引先に送る関係で、このようなエラーもなくしたいのですが、もしこちらの解決法もご存じであればご教授頂けますでしょうか。
junkij

2020/08/21 06:11

こちら解決しました!ありがとうございました
guest

0

ベストアンサー

VBA

1Sub 請求書番号と日付を名前にしてxls形式にて保存() 2 Dim FileName As Variant 3 4 FileName = Application.GetSaveAsFilename(InitialFileName:=Range(請求書番号のセル) & Format(Date, "ddmmyyyy"), FileFilter:="Excelファイル,*.xls") 5 If FileName = False Then 6 Exit Sub 7 End If 8 ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:=xlExcel8 9End Sub

投稿2020/08/21 00:30

radames1000

総合スコア1925

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

junkij

2020/08/21 04:22

radamesさん ご回答ありがとうございます。 試してみます
radames1000

2020/08/21 05:10

こちら試していただくと追加のエラーも出ないと思います
junkij

2020/08/21 05:21

追加のエラーも解決しました 無知な質問で申し訳ございません FileFormat をxlExcel8 (=Excel 97-2003 ブック) と指定したことによってエラーが解決したのでしょうか
radames1000

2020/08/21 05:22

はい、その通りです。
junkij

2020/08/21 06:12

すいません ご教授頂きありがとうございました。
guest

0

vba

1Sub 請求書番号と日付を名前にしてxls形式にて保存() 2 Dim FileName As Variant 3 4 FileName = Application.GetSaveAsFilename(InitialFileName:="999999" & Format(Date, "ddmmyyyy") & "xls", FileFilter:="Excelファイル,*.xls") 5 If FileName = False Then 6 Exit Sub 7 End If 8 ActiveWorkbook.SaveAs FileName , FileFormat:=xlExcel8 9End Sub

Windows10 Excel2019 にて動作確認

投稿2020/08/20 08:41

編集2020/08/21 05:43
hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

junkij

2020/08/21 04:25

hatena19さん ありがとうございます。 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問