ユーザーが見ることができないワークシートにカスタムプロパティを作成しようとしています。私の理由は次のとおりです。Excel(2013)VBA - ワークシートにカスタムプロパティを追加します。
- としてワークシート上の特定の名前付きセルを使用してグローバル変数(ワークブックにランダムに廃棄ます保存)、または
- を使用することは避けてください
- 、
CustomProperties
コレクション(直接アクセス)を避けます値を取得して挿入するのが遅いようです。
以下のコードは動作するようですが、作成したsht
オブジェクトのすべての必要なワークシートのプロパティとメソッドを使用できます。欠点は、インテリセンスの喪失であり、私にとっては問題ではありません。
これが動作しているようですが、私のコードは現在、ランダムに不安定に行くように見える、と私は何かに違反している可能性があるという事実以外の直接の原因を、見つけることができません。
私は現在5つのワークシートにそれぞれ7つのカスタムプロパティを持っています。ここで
が(一番上の)ワークシートのコードサンプルです:
Private pPassword As String
Public Property Get Password() As String
Password = pPassword
End Property
Public Property Let Password(Value As String)
pPassword = Value
End Property
そして、ここでは、モジュールのコードサンプルです:ILEDからの提案に基づき
Sub doSomething(currentSheetName as string)
Dim Password as String
Dim sht as object
Set sht = ThisWorkbook.Worksheets(currentSheetName)
Blahblahblah code
Password = sht.password
Blahblahblah code
End sub
「ランダムに不安定になる」とはどういう意味ですか? IntelliSenseと遅さは、あなたの呼び出しが遅れていることが原因です。それらを早期にバインドしたい場合は、インターフェイスメンバーとして宣言します。 – Comintern
「ランダムに不安定になる」とは、明らかに理由がなく「Microsoft Excelが動作を停止しました」というメッセージが定期的にクラッシュすることを意味します。私は以前に、事前バインディング(ワークシートなど薄暗いSHT)を使用しようとしましたが、カスタムプロパティを返すことができませんでした。私はあなたが「インターフェイスのメンバーとして彼らを宣言する」という意味をよく分かりません。説明してください。どうも – LewM