2017-03-16 13 views
0

これを書面で表現する方法がわかりませんが、私は試してみませんか?もっと説明したい場合は教えてください。クラスプロパティをVBAのクラスに設定しますか?

カスタムクラスオブジェクト型として定義されているクラスプロパティを、同じ種類のクラスを持つ定義済みの変数に設定しようとしています。問題私はこのエラーを取得していされています

Run-time error '91': Object variable or With block variable not set

それでは、我々はこれら2つのクラスを持っているとしましょう:

MT940Message

Public BasicHeaderInput As String 
Public ApplicationHeaderInput As String 
Public Trailer As String 
Public Text As MT940TextObject 

MT940TextObject

Public TransactionReferenceNumber As String 
Public RelatedReference As String 
Public AccountIdentification As String 
Public StatementNumber As String 
Public OpeningBalance As String 
Public StatementLine As String 
Public InformationToAccountOwner As String 
Public ClosingBalance As String 
Public ClosingAvailableBalance As String 
Public ForwardAvailableBalance As String 
Public InformationToAccountOwner2 As String 

そして、私はmessage.TextNothingに等しいデバッグするとき、私は

Dim message As MT940Message 
Set message = New MT940Message 

Dim newTextObject As MT940TextObject 
Set newTextObject = New MT940TextObject 


newTextObject.TransactionReferenceNumber = "ref123" 
newTextObject.RelatedReference = "rel123" 
newTextObject.AccountIdentification "456677" 

message.ApplicationHeaderInput = "abc" 
message.BasicHeaderInput = "def" 
message.Trailer = "ghi" 
message.Text = newTextObject ' this causes Run-time error '91' 

のようなものをやっています。

+2

オブジェクトで 'Set'キーワードを使う:' Set message.Text = newTextObject ' – user3598756

+0

ありがとう!それは働いた:) – dadde

答えて

1

.Textプロパティは、オブジェクト参照であるので、などSetを使用してみてください:

Set message.Text = newTextObject

関連する問題