アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。宮本と申します。VB6(SP5)で、
プログラミングをしております。
下記の様にプログラミングをしましたが、どうしても
[実行時エラー’1004’ test_1.xlsにアクセスできません]と、なります。
c:\test.xls は、元々ある事を前提とし、c:\test_1.xlsに上書きをしたいのです。
宜しくお願い致します。

Dim wApp As Excel.Application
Dim wExl As Object

Set wApp = CreateObject("Excel.Application")

Set wApp = CreateObject("Excel.Application")
Set wExl = wApp.Workbooks.Open("c:\test.xls")

wExl.Worksheets(1).Cells(1, 1).Value = 3000

wExl.Application.Visible = False
wExl.Application.DisplayAlerts = False
wExl.SaveAs "c:\test_1.xls" <---ここで、エラー

A 回答 (7件)

Set wApp = Nothing


wExl.Close True

最後に追加すればOKだと思います。
    • good
    • 5
この回答へのお礼

解決いたしました。ありがとうございました。

お礼日時:2003/06/06 11:42

wExl.Closeの追加で解決ですね・・・


ちなみにCloseの前に.DisplayAlertsはTrueに戻した方がよいでしょう。

#4さんの回答について補足というかなんと言うか・・・

Sava  → 上書き保存
SaveAs → 名前をつけて保存(上書き可)

です。
    • good
    • 1
この回答へのお礼

解決いたしました。ありがとうございます。
Save & SaveAs の 件も、勉強になりました。

お礼日時:2003/06/06 11:43

1回目にキッチリ終わっていないので、2回目にエラーになるのでは?


CloseやSet Nothingをしてますか?

参考URL:http://oshiete1.goo.ne.jp/goo_search.php3?dummy= …
    • good
    • 2
この回答へのお礼

していませんでした。これが原因の様です。
ありがとうございました。

お礼日時:2003/06/06 11:41

こんにちは、ats8181oyajiです



ごめんなさい。説明が足りませんでした
引数が違うエラーはSaveでファイル名を書くと
出ます。Saveは今開いているファイルを上書き
保存する場合に使います。

今回の場合は
test_1.xlsについては新規に一回だけ作成するのですか?
ならば、テストで一回目はSaveAsで正常にできますが
(当方テスト済み)二回目はエラーになります。
ようするに、正しい処理です。
しかし、何度も同じtest_1.xlsに書き込みが発生する
のでしたら、上記のことを考慮する必要があります。
いつでも書き換えるのであれば
1.test_1.xlsの存在チェックで、あればkillで削除
2.SaveAsで新規名前付け保存
で可能かと思います。
    • good
    • 0
この回答へのお礼

何度も、ありがとうございました。

お礼日時:2003/06/06 11:41

こんにちは、ats8181oyajiです



SaveASとSaveの違いなのでは?

SaveASは初回のみ、すでに存在するときはエラーです
二回目以後はSaveを使います。

この回答への補足

ご回答をありがとうございます。
>SaveASとSaveの違いなのでは?
書き換えてみました。が、今度は、
[実行時エラー'450' 引数の数が一致していません。
または、不正なプロパティを指定しています。]
と、なってしまいました。(;_;)

原因は、No.1さんのおっしゃる様に他に原因が
あるような気がしてきました。

補足日時:2003/06/04 16:32
    • good
    • 1

実行したところ1回目は上手く行きました。


(test.xlsのみ用意し、実行しました。)
No.1さんもおっしゃるように、
test_1.xlsが使用中であることが原因のようです。
    • good
    • 0
この回答へのお礼

ご回答をありがとうございました。

お礼日時:2003/06/04 16:32

VBがないのでWSHのVBScriptで試したところ、


c:\test_1.xlsが別のエクセルで開かれていることが原因のようです。
Application.VisibleをTrueにしてみて確認してください。
または、Ctrl+Alt+Delのプログラムの強制終了画面でExcelというプログラムが動いていればそれを終了すればいいかも。

この回答への補足

ご回答をありがとうございました。
>Application.VisibleをTrueにしてみて確認
確認しました。c:\test.xls は、読み取り専用で開かれていました。が・・・それ、以外はありません。(;_;)

補足日時:2003/06/04 16:28
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A