MDBファイルのバックアップの処理を毎日タスクで流すためにVBでEXEを作ったのですがエラーが発生しました。
ランタイムエラーのようですがMDBファイルの最適化の処理を追加する前は正常に動作していました。。。
エラー内容は run-time error'13' type mismatch です。
なにかランタイムをインストール必要があるのでしょうか?
DBEngine.CompactDatabaseを使っているので参照設定で
microsoft dao3.6 object libraryを追加してからおかしいようです。
お知恵をお貸しください><
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'_/ MDBファイル最適化 _/
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
defrg = INIfile_read("PATH", "defrag")
filename = "abc.mdb"
TempFile = Left(filename, Len(filename) - 3) & "bak" 'バックアップ名を作成
DBEngine.CompactDatabase defrg & "\" & filename, defrg & "\" & TempFile '最適化
Kill defrg & "\" & filename
filename = Left(TempFile, Len(TempFile) - 3) & "mdb"
Name defrg & "\" & TempFile As defrg & "\" & filename
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ディストリビューションウィザードでセットアップファイルを作って、
実行環境にインストールしてないとか?
であれば、まず、それを実施してください。
実行時エラー 13 型が一致してません
みたいなやつで
エラーメッセージが英語で出るということは
VB6ランタイムの一部が入ってないってことかも。
あと、
EXEが実行時エラーを出すということは、
エラートラップを確実に行っていないことの裏返しなので、
その辺もよく確認してみてください。
No.1
- 回答日時:
Dim defrg As String
Dim filename As String
Dim TempFile As String
の3行が無いのが気にかかります。
exe化しない場合は宣言のない文字列型変数があっても暗黙的に宣言された事になって動くのですが、exe化する場合は明示的に宣言しないとダメだった気がします。
Dim文を足して試してみて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) Excel VBA 複数ブックシートごとにデータを統合する方法について 4 2022/05/20 14:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBから参照できないCのDLLを使...
-
access テキストボックスの値取得
-
Returnに対するGoSubがありません
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
ExcelVBAで既に開いてるwordを...
-
アクセスのクエリでコンパイル...
-
すでにファイルが開かれている...
-
EXCELのVBAでWORDが開いてある...
-
ファイルクローズ(fclose)でエ...
-
Excelvbaのマクロのファイル名...
-
OUTLOOK VBA 指定フォルダ内の...
-
FTPの送信結果を検知したい
-
Excelのエラー
-
Request.BinaryReadでのエラー
-
Access2010 コンパイルエラー...
-
freadでデータがない場合の読込...
-
[VBS]ファイルコピーで怪奇現象
-
gccを行ってもexeファイルが生...
-
DBへのコネクションタイムアウト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでレジストリキーの...
-
FTPの送信結果を検知したい
-
「パス名が無効です」の発生原因
-
VBでファイルが開かれているか...
-
アクセスのクエリでコンパイル...
-
NAS上のファイルの使用中が解除...
-
Returnに対するGoSubがありません
-
PowerShellを使って関連付けら...
-
access テキストボックスの値取得
-
VBから参照できないCのDLLを使...
-
VB6 Dir関数で52エラー発生
-
freadでデータがない場合の読込...
-
すでにファイルが開かれている...
-
ACCESS VBAでのインポート
-
Access2013にてドラッグ&ドロ...
-
エクセルマクロでエラーの原因...
-
DisplayAlertsブロパティで ”実...
-
OUTLOOK VBA 指定フォルダ内の...
-
FORTRANの実行エラーについて
-
EXCELのVBAでWORDが開いてある...
おすすめ情報