- ベストアンサー
VBA でフロッピーに保存が時間かかりすぎる
excel2000を使用し VBAで フロッピーディスクへの保存 ChDir "A:\" ActiveWorkbook.SaveAs Filename:="A:\請求台帳.xls",FileFormat:=xlNormal のマクロを実行したところ物凄い時間がかかります。 普通に送るから実行するとものの20秒もかかりません。 どうしてかよくわかりません。 フロッピへ送るフアイルは980MB程度です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 コードの中で、ChDir "A:\" は無意味ですね。 それと、ExcelのApplicationから、FDDの保存ですと、かなり小分けになって、セクタに分けて保存されてしまいますから、まとめてFDDに保存させるようにしなければなりません。 以下のようなコードを考えてみました。たぶん、1/3ぐらいに時間が短縮されるはずです。 Sub SavingTimeSave() Dim myFileName As String myFileName = ActiveWorkbook.Name Application.DisplayAlerts = False ActiveWorkbook.SaveCopyAs "$" & myFileName Application.DisplayAlerts = True FileCopy "$" & myFileName, "A:\" & myFileName Kill "$" & myFileName End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
Formatをやり直したFDで(他のファイルがない状態にして)やっても同じような時間がかかりますか。断片化してないかと思って。
補足
Formatをやり直したFDで実験したいと思います。回答ありがとございました。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
> のマクロを実行したところ物凄い時間がかかります。 何秒くらいかかりますか?5分とか? VBAからSaveAsの処理は若干時間がかかります。 「送る」を行った場合、既にファイルが存在している事に対し、 VBAではファイルを作成する事も含まれます。 > フロッピへ送るフアイルは980MB程度です。 980KBの間違いですよね? 多分フロッピーは1.44MBのものを利用されているのでしょう。
補足
すいません。980KBの間違いです。 フロッピーは1.44MBです。 おそらく2分以上かかったとおもいます。 とにかく肩がこるじかんでした。
お礼
ご回答ありがとうございます。試したら50秒かかりました。これなら何とか使えそうです。ありがとうございました。