• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PickFolder アウトルックとアクセス連携)

PickFolderアウトルックとアクセス連携

このQ&Aのポイント
  • VBAでOutlookのフォルダ名を取得し、Accessのテキストボックスに表示する方法を教えてください。
  • テキストボックスの更新後処理のイベントが発動せず、フォルダ名を取得できているのにフォルダ名が表示されません。どうすれば正常に表示できるようになりますか?
  • PickFolderでフォルダ名を選択して値をテキストボックスに入れた後、イベントを発動させる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

TextBox.AfterUpdate イベント のヘルプより ---------------------------------- "SetValue/値の代入" アクションが記述されたマクロまたは Visual Basic で、コントロールに含まれるデータを変更した場合は、このイベントは発生しません。別のレコードに移動したり、レコードを保存したときに、フォーム に対して AfterUpdate イベントが発生します。 ということですから、AfterUpdate イベント は発生しません。 自前で呼んであげましょう。 Private Sub コマンド2_Click() Dim myNaSp As NameSpace Set myNaSp = GetNamespace("MAPI") Me.テキスト0.Value = myNaSp.PickFolder Set myNaSp = Nothing Call テキスト0_AfterUpdate() '←この行を追加 End Sub

QFDUGKPK
質問者

お礼

イベントをCallで呼び出すこともできるのですか。 知りませんでした。 おかげさまでうまく出来ました。ご回答ありがとうございました。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

別な方法になりますが、 Me.テキスト0.Value = myNaSp.PickFolder ↓ Me.テキスト0.SetFocus Me.テキスト0.Text = myNaSp.PickFolder とすると Change / BeforeUpdate / AfterUpdate が発生すると思いますが、 どうなりますか。 なお、 > Private Sub コマンド2_Click() > Me.テキスト0.Value = "aaa" > End Sub > > にしてコマンドボタンをクリックすると、 > Private Sub テキスト0_Change() > MsgBox Me.テキスト0.Value > End Sub > は、発動します。 をもう一度確認願えませんか。発動しなかったような気がします。

QFDUGKPK
質問者

お礼

Me.テキスト0.SetFocus すれば、 Call テキスト0_AfterUpdate() がなくてもできました。 Private Sub コマンド2_Click() Me.テキスト0.Value = "aaa" End Sub は、発動しませんでした。 何か勘違いしてました。

関連するQ&A