プロが教えるわが家の防犯対策術!

環境:WinXP/ACCESS2000 VBAで書いてます。

 テーブルをエクセルにエクスポートする際、保存先はコモンダイアログでファイルを指定していますが、
 コモンダイアログのプロパティには Filter: に *.dat というオリジナルの拡張子を指定しています。
 以前は問題なく動作していたのですが、環境が変化(Win98SE/ACCESS97→WinXP/ACCESS2000)してから下記のメッセージが出てしまい困っています。
 但し、以前と同環境では動作します。又、現在の環境でも拡張子を*.xlsにした場合は動作します。

 どなたか手解きをお願い致します。

「実行時エラー3027
データベースまたはオブジェクトは読み取り専用のなので、更新できません」

なお、イベントのコードは以下の通りです。

Private Sub コマンド0_Click()
Dim savefile As String
Me!ActiveXコントロール1.Flags = &H2
Me!ActiveXコントロール1.ShowSave
savefile = Me!ActiveXコントロール1.filename
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel3, "testテーブル", savefile
End Sub

A 回答 (1件)

Access2000のセキュリティ対策で特定の拡張子しかインポート/エクスポートしか出来なくなったので、素直に拡張子をXLSにしましょう。



参考になるのはMSの技術情報
「Jet 4.0 の Text IISAM ににおけるセキュリティ上の弱点
文書番号: JP239471」
です。

レジストリの「HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Excel」
キー項目:DisabledExtensionsの値を「!xls,dat」とすればエラーにはならないでしょう。

Win98&Access2000で確認
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
知りませんでした。知識不足ですね。
今までエクスポートしたファイルがたくさんあるので、レジストリの変更を行い、確認しました。
とりあえずはこれで「逃げ」られますが、今後はこの事を踏まえた上で設計しようと思います。
本当にありがとうございました。

お礼日時:2002/06/07 19:39

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

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

関連するカテゴリからQ&Aを探す