みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

アクセスvbaでクリップボードにコピーの動作を実行

アクセスvbaでクリップボードにコピーの動作を実行したいです。

エクセルなら、

Sub test()
Dim buf As String
Dim CB As New DataObject
buf = "test"
With CB
.SetText buf ''変数のデータをDataObjectに格納する
.PutInClipboard ''DataObjectのデータをクリップボードに格納する
.GetFromClipboard ''クリップボードからDataObjectにデータを取得する
Debug.Print .GetText ''DataObjectのデータを変数に取得する
End With

End Sub

これが実行できるのですが、
どうやらアクセスだと
Dim CB As New DataObject
これがエラーになるようです。

Dim CB As Objectにすると
.SetText buf
で実行時エラー91になります。
(「オブジェクト変数またはWithブロック変数が設定されていません」)

http://officetanaka.net/excel/vba/tips/tips20.htm
によると、
「DataObjectオブジェクトはMSFormsのメンバです。使用するには、Microsoft Forms 2.0 Object Libraryを参照設定します。または、ブックにUserFormを挿入すると自動的に参照設定されます。」
なので、アクセスvbaの参照設定で「Microsoft Forms 2.0 Object Library」を探したのですが、
ありませんでした。

当方バージョンは2010です。
アクセスでは不可能と言うことでしょうか?

ご教授よろしくお願いします。

投稿日時 - 2013-09-20 21:11:45

QNo.8272695

困ってます

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

参照設定ができるのなら

http://www.moug.net/tech/acvba/0020034.html

こちらで紹介されてるようにできるはずですが

Microsoft Forms 2.0 Object Libraryがないということですので
(何かしらインストールの追加みたいなので追加できないでしょうか)

こちらを参考にしてください。

http://www.tsware.jp/study/vol1/kaibo_15.htm

投稿日時 - 2013-09-21 00:40:54

お礼

ありがとうございました。

投稿日時 - 2013-10-03 19:53:25

ANo.1

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

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

回答(2)

ANo.2

Microsoft Forms 2.0 Object Libraryの実体であるFM20.DLLの在処については、下記の方が新しいです。
そちらに参照設定して、Acc2010から使えています。
ご参考まで。
http://www.moug.net/tech/exvba/0150091.html

投稿日時 - 2013-09-21 08:27:01

お礼

ありがとうございました。

投稿日時 - 2013-10-03 19:53:23

あなたにオススメの質問