VBA

VB6.0


VBA

定番のVBA関数でコンパイルエラー (Left,Trim,Date など)
発生環境   
VBA
対処   
[参照設定]ダイアログに「参照不可のライブラリ」がないか、確認
あった場合は、チェックを外す
エラーが出ていた関数とは関係のないライブラリの場合でも、
参照不可を無くすことでコンパイルエラーがなくなることがある。
定番のVBA関数でコンパイルエラー (Time など)
発生環境   
VBA

Time関数などで、参照不可のライブラリは無いのにエラーとなる



参照設定に「参照不可」の項目は無い


対処   

下図のように、クラスを明示的に指定してやると解決する場合がある。
日付/時刻の関数の場合は、 DateTime クラス
たぶん、何かと干渉して一意に特定出来なのであろうが、なかなか、やっかいである。
再現性があまりなく、一度治ってしまうと、元のTimeだけに戻しても再現しなくなる。
ともあれ、下記。
文字列操作関連の Mid,Left,Right などの場合は、String クラス


参考:Excel VBAの文字列操作関数がコンパイルエラー?

VB6.0

システムレジストリへのアクセスでエラーが発生しました
発生環境
Windows7,Windows8
原因 
VB6.0 にレジストリを変更する権限がない
対処 
VB6.EXE のプロパティ → [互換性] タブ → [すべてのユーザーの設定を変更]
        → [管理者としてこのプログラムを実行する] にチェックを入れる

オブジェクトライブラリが登録されていません
発生環境  
Windows7,Windows8
原因   
OCX ファイルがレジストリに、正常に登録されていない
対処 
タイプライブラリを再登録する

・コマンドプロンプト(Cmd.exe)を管理者権限で起動する。
  スタート→すべてのプログラム→アクセサリ
  コマンドプロンプトで右クリック
  「管理者として実行」をクリック



・下記をコピーして、コマンドプロンプトに貼り付ける 
C:\Windows\regtlib.exe C:\Windows\system32\msdatsrc.tlb

・ENTERキーを押下する

 Registration of C:\Windows\system32\msdatsrc.tlb successful.
 が、表示されれば成功。
 WindowsのインストールドライブがC以外の場合は、そのドライブ名に合わせる。


オフライン参加完了情報が見つかりませんでした
発生環境
VB6.0 SP6 のインストール時
原因   
マイクロソフトの更新応報不備
対処   
KB2918614をアンインストール

1..以下の方法でコントロールパネルから更新プログラムが存在するか確認する。

 ※「コントロールパネル」 → 「プログラムと機能」 → 「インストールされた更新プログラム」
  検索項目にて「KB2918614」を検索し、確認。

2.上記更新プログラムが存在する場合は、コントロールパネルから「KB2918614」を削除。



3.コンピュータを再起動する。
 
c:\xx\..\xx\MSCOMCTL.OCX' を読み込めません。
発生環境
VB6
対処
プロジェクトファイル .vbs をメモ帳で開き
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX
を下記のように書き換える。赤字部分
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX


上記が有効でない場合
VB 6.0 Service Pack 6 セキュリティ ロールアップ更新プログラム を実行
実行時エラー'339'、コンポーネント '???.OCX'、またはその依存関係のひとつが 適切に登録されていません。...
Component ‘MSCOMCT2.OCX’ or one of its dependencies not correctly registered: a file is missing or invalid.
発生環境
VB6

対処
起動時に下記のようなOCX関連のエラーメッセージが表示される場合、
アプリケーションを「管理者として実行」して下さい。

アプリケーションを「管理者権限で実行」する方法

それでもエラーが発生する場合は、OCXの登録不備があると思われます。
下記リンクを参考にしてください。

自動登録:登録コマンドのダウンロード(再登録-OCXs.zip)

手動登録:不足OCXのコピーとレジストリ登録


参考URL。
実行時エラー '713' 次のクラスは登録されていません。以下のファイルをインストールしてください。MSSTDFMT.DLL
発生環境
VB6
セットアップ時の不備で、ファイルの関連付けが正確になされていない場合が考えられます。
対処
管理者権限でDLLを再登録します。
  • スタートメニューから「すべてのプログラム」をクリックします。
  • アクセサリの中にある「コマンドプロンプト」を右クリックし、「管理者として実行」をクリックします。
32ビット環境の場合
  • regsvr32 /u C:\Windows\system32\MSSTDFMT.DLL コマンドを実行し、登録を解除します。
  • regsvr32 C:\Windows\system32\MSSTDFMT.DLL コマンドを実行し、登録します。
64ビット環境の場合
  • regsvr32 /u C:\Windows\SysWOW64\MSSTDFMT.DLL コマンドを実行し、登録を解除します。
  • regsvr32 C:\Windows\SysWOW64\MSSTDFMT.DLL コマンドを実行し、再登録します。
下記が表示されればOK



参考URL
Binding Collection Error
Field not updatable, Bound Property Name: Text, Field Name: xxxx
発生環境
VB6
セットアップ時の不備で、ファイルの関連付けが正確になされていない場合が考えられます。
対処
管理者権限でDLLを再登録します。  登録DLL msstdfmt.dll

作業は前項と同じ
×
PageTop