重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

あるエクセルのブック内のシートをdドライブに自動的にunicodeのタブ区切りテキストで保存するマクロを作成しています。コードは

for i = 1 to 10

Sheets(i).Select
f_name = "d:\" + Trim(Str(i)) + ".txt"
ActiveWorkbook.SaveAs Filename:=f_name,_
FileFormat:=xlUnicodeText, CreateBackup:=False

next i

こんな感じです。

しかしこれを実行するとイルカが

'aaa.txt'にアクセスできません。ファイルは読み取り専用であるか、または読み取り専用の場所にアクセスしようとしています。または、サーバー上に保存されているドキュメントから応答がありません。

と言うメッセージを出し、そこでキャンセルボタンを押すと

実行時エラー'1004':
'SaveAs'メソッドは失敗しました。'_Workbook'オブジェクト

というメッセージが出ます。さらにデバックを押すと、プログラムコードの
ActiveWorkbook.......の行で止まります。

環境はwindows2000、excel2000です。

何か足りないコードがあるのでしょうか?
よろしくお願いします。

A 回答 (2件)

どもども田吾作7です。



Dドライブを指定してるけど、存在してますか?
WIN2000のセキュリティでアクセス権がないとか?

でわでわ

この回答への補足

dドライブは存在しています。
ファイル、フォルダにアクセス権はあります。(たぶん)
ちょっと色々いじってみたのですが、マクロを実行するファイル属性の読み取り専用にチェックを打つとそのようなエラーが出てこなくなりました。
なんででしょう!?よくわかりません。

補足日時:2001/07/13 16:01
    • good
    • 0

どもども田吾作7です。



[マクロでファイルオープン]で質問されてますね。そちらが解決したらこちらの問題も解決するはずです。
ファイルは上書き保存だったんですね。読み取り専用属性を持つファイルのためにこのメッセージが出てると思われます。

でわでわ
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!