[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/12/14(Thu) 20:47
投稿者名:かなちゃん
Eメール:
URL :
タイトル:
DAOでのマクロのあるエクセルファイルへの書込みについて
VB6.0でマクロのあるエクセルを高速に読み書きしたいのですが、エクセルの読み込み
は出来ましたが、書込みの時、多分マクロのためか「オブジェクトは読み取り専用のため
更新できません」となります。マクロのあるエクセルに書き込む方法はどうしたらよいか
どなたか教えて下さい。
 プログラムは下記です。

-----------------------------------------------------------------
ここのサンプル(下記)を転載されましたので、削除させて頂きました。
http://hanatyan.sakura.ne.jp/vbhlp/dao_002.htm
  管理人
-----------------------------------------------------------------

投稿時間:2006/12/14(Thu) 23:21
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: DAOでのマクロのあるエクセルファイルへの書込みについて
> は出来ましたが、書込みの時、多分マクロのためか「オブジェクトは読み取り専用のため

マクロが書いてあっても読み書きできますよ。

そのファイルを他で開いていませんか? 又は、そのファイルのマクロを実行している
とかないですか?
又は、エラーか何かでファイルが閉じられていないとか。

投稿時間:2006/12/15(Fri) 20:14
投稿者名:かなちゃん
Eメール:
URL :
タイトル:
Re^2: DAOでのマクロのあるエクセルファイルへの書込みについて
花ちゃん
 ご回答ありがとうございました。すみません、DAOのまちがえでした。
エクセルのファイルを見ましたが特に問題はありませんでした。

 そこで、逆引きヘルプの「DAOでExcelデータを読み込みテキストボックスに表示(237)」
をコピーして新しいプログラムを作り、Excelデータも新しく作成して動かしてみましたら、
やはり .Edit のところで
「実行時エラー ’3027’データベースまたはオブジュエクトは読み取り専用なので、更新
出来ません。」のエラーになります。なにか他にセットする条件があるのでしょうか。                  

プログラムは下記です。

----------------------------------------------------------------------
ここのサンプル(下記)を転載されましたので、削除させて頂きました。
http://hanatyan.sakura.ne.jp/vbhlp/dao_002.htm
  管理人
----------------------------------------------------------------------



投稿時間:2006/12/16(Sat) 09:44
投稿者名:YK
Eメール:
URL :
タイトル:
Re^3: DAOでのマクロのあるエクセルファイルへの書込みについて
こんにちは。


> 「実行時エラー ’3027’データベースまたはオブジュエクトは読み取り専用なので、更新
> 出来ません。」のエラーになります。なにか他にセットする条件があるのでしょう


'The possible settings of IMEX are:
'
'        0 is Export mode
'        1 is Import mode
'        2 is Linked mode (full update capabilities)
ということなので、確認はしていませんが
IMEX=1 を
IMEX=2
にされてはどうでしょうか。

>
>     Set DB = OpenDatabase(xlFileName, False, False, _
>                                         "Excel 8.0;HDR=NO;IMEX=1")
>     Set RS = DB.OpenRecordset(xlSheetName)

投稿時間:2006/12/16(Sat) 19:50
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: DAOでのマクロのあるエクセルファイルへの書込みについて
>     Set DB = OpenDatabase(xlFileName, False, False, _
>                                         "Excel 8.0;HDR=NO;IMEX=1")

先月末に一部文書を追加修正した時に何か勘違いして追加してしまったようですね。
私の使っている元のサンプルは、省略した状態だったのでテストしても問題がなかった
ようです。 申し訳ありませんでした。

元々は下記のような設定でした。
     Set DB = OpenDatabase(xlFileName, False, False, _
                                         "Excel 8.0;HDR=NO;")

因みに、省略した場合とIMEX=2 とでは同じ動作をするようです。
詳しくは後日追加して書いて置きます。

投稿時間:2006/12/17(Sun) 16:23
投稿者名:かなちゃん
Eメール:
URL :
タイトル:
Re^4: DAOでのマクロのあるエクセルファイルへの書込みについて
YKさん、花ちゃんありがとうございました。
 花ちゃんのはまだ動作を確認してありませんが、IMEX=2 として正常に書込み
出来ました。
 またまた、新しい疑問点が出ましたが別途、新規でご質問させていただきます。