0

Excel 2010 で、ユーザーがフォームまたは ActiveX コントロールのプロパティにアクセスできないようにする設定はありますか?

Excel ファイルを開いてワークシートにコントロール (フォームと ActiveX の両方) を挿入できるユーザーと作業しています。ただし、そのユーザーが任意のオブジェクトをクリックしてそのプロパティに移動すると、選択したオブジェクトのプロパティではなく、シートのプロパティが表示されます。

さらに、シートを介してコントロールにアクセスしようとするマクロは、コントロールが null であるため、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーをスローします。「AddParts」という名前のワークシートで「CommonDialog1」という名前のダイアログ コントロールを参照しようとする以下の例を参照してください。

Worksheets("AddParts").CommonDialog1.ShowOpen

このまったく同じマクロを、同じブックから他のコンピューターで問題なく実行できます。ユーザーがオブジェクトにアクセスできないようにする Excel のユーザー設定はありますか?

4

2 に答える 2

0

この正確な問題があり、この解決策を見つけました

エクセルを閉じます。

Windows エクスプローラーを起動します。

システム ドライブ (通常は C:) を選択します。

検索ボックスを使用して *.exd を検索します

見つかったすべてのファイルを削除します。

エクセルを再起動します。

Microsoft DataGrid などの ActiveX コントロールを Excel シートに追加すると、「オブジェクトを挿入できません」というエラーが表示される

于 2015-01-22T23:10:19.200 に答える
0

上記の質問に答えるには: 1) ワークブックは保護されていません 2)制限なしですべての ActiveXControls を有効にするがチェックされています。ただし、 ActiveX ダイアログ コントロールを使用する代わりに、組み込みのApplication.GetOpenFilename VBA 関数を使用してファイル ダイアログを取得することで、この問題を回避することができました。

ユーザーが ActiveX コントロールを使用できなかった理由はまだわかりませんが、この回避策により、ユーザーは Excel ワークブックを使用できるようになりました。

于 2013-03-19T17:10:44.930 に答える