こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

アクセスのフォームに
テキストボックスとコマンドボタンを置きました。

VBAでoutlookに参照設定をして、

Private Sub コマンド2_Click()
Dim myNaSp As NameSpace
Set myNaSp = GetNamespace("MAPI")

Me.テキスト0.Value = myNaSp.PickFolder
Set myNaSp = Nothing
End Sub

としました。

テキストボックスには、
Private Sub テキスト0_AfterUpdate()
MsgBox Me.テキスト0.Value
End Sub
としました。

しかしoutlookのフォルダ名をPickFolderでテキストボックスに入れても
テキストボックスの更新後処理のイベントは発動しません。
しかしテキストボックスにはちゃんとフォルダ名が入っています。

Private Sub テキスト0_Change()
MsgBox Me.テキスト0.Value
End Sub

にしても同じです。

Private Sub コマンド2_Click()
Me.テキスト0.Value = "aaa"
End Sub

にしてコマンドボタンをクリックすると、
Private Sub テキスト0_Change()
MsgBox Me.テキスト0.Value
End Sub
は、発動します。

PickFolderでフォルダ名を選択して値をテキストボックスに入れても
イベントを発動させる方法を教えてください。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2012-10-31 22:38:44

QNo.7775895

すぐに回答ほしいです

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

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

投稿日時 - 2012-11-01 17:31:24

お礼

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

投稿日時 - 2012-11-05 22:45:06

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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
> は、発動します。

をもう一度確認願えませんか。発動しなかったような気がします。

投稿日時 - 2012-11-02 08:28:43

お礼

Me.テキスト0.SetFocus
すれば、
Call テキスト0_AfterUpdate()
がなくてもできました。

Private Sub コマンド2_Click()
Me.テキスト0.Value = "aaa"
End Sub
は、発動しませんでした。
何か勘違いしてました。

投稿日時 - 2012-11-05 22:45:22

あなたにオススメの質問