• ベストアンサー

VBA でフロッピーに保存が時間かかりすぎる

excel2000を使用し VBAで フロッピーディスクへの保存 ChDir "A:\" ActiveWorkbook.SaveAs Filename:="A:\請求台帳.xls",FileFormat:=xlNormal のマクロを実行したところ物凄い時間がかかります。 普通に送るから実行するとものの20秒もかかりません。 どうしてかよくわかりません。 フロッピへ送るフアイルは980MB程度です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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

aitaine
質問者

お礼

ご回答ありがとうございます。試したら50秒かかりました。これなら何とか使えそうです。ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Formatをやり直したFDで(他のファイルがない状態にして)やっても同じような時間がかかりますか。断片化してないかと思って。

aitaine
質問者

補足

Formatをやり直したFDで実験したいと思います。回答ありがとございました。

回答No.1

> のマクロを実行したところ物凄い時間がかかります。 何秒くらいかかりますか?5分とか? VBAからSaveAsの処理は若干時間がかかります。 「送る」を行った場合、既にファイルが存在している事に対し、 VBAではファイルを作成する事も含まれます。 > フロッピへ送るフアイルは980MB程度です。 980KBの間違いですよね? 多分フロッピーは1.44MBのものを利用されているのでしょう。

aitaine
質問者

補足

すいません。980KBの間違いです。 フロッピーは1.44MBです。 おそらく2分以上かかったとおもいます。 とにかく肩がこるじかんでした。

関連するQ&A