アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。

Accessで参照設定を自動でする下記コードで、

"C:\Program Files (x86)\Microsoft Office\Office" & sansyou & "\MSOUTL.OLB" がない場合は
"C:\Program Files\Microsoft Office 15\root\office15" & sansyou & "\msoutl.olb" をセット

という風な条件を付けたいのですが、添削をお願いできますでしょうか。

Dim A As Object
Set A = CreateObject("Outlook.Application")
Dim sansyou As String
sansyou = Left(A.Version, 2)
Dim Ref As Reference
Set Ref = References.AddFromFile("C:\Program Files (x86)\Microsoft Office\Office" & sansyou & "\MSOUTL.OLB")
Set Ref = Nothing

ちなみに、閉じるときに
Application.References.Remove References("Outlook")
で、参照設定のチェックを外しています。

バージョンがそれぞれ異なるPCでOutlookの参照設定チェックをONOFFするコードです。

よろしくお願いします。

A 回答 (1件)

参照設定を使わずに(レイトバインディングで)


進められた方が融通が利くと思います。作成するのはちょっと手間がかかりますが。
『VBA OUTLOOK 操作』あたりでGoogleとサンプルがいっぱい。たとえば、
http://oshiete.goo.ne.jp/qa/7645239.html
OutLookがインストールされていなければ
Set A = CreateObject("OutROCK.Application")
ここのエラーでトラップします。

OutLookがインストールされていると仮定し(大体はあるハズ)
AccessもOffice製品として(Professional版)一緒にインストールされているなら
debug.print syscmd(acSysCmdAccessDir)
でOfficeのインストールフォルダが確認できます。
Accessを後買いでインストールしてありインストール先が怪しい場合は、
debug.print createobject("Excel.application").path
とかでも・・・
ファイルの存在確認は、Dir関数で十分かと思います。
以上まとまりのない回答です。
あと、
私の周りにはOutLookを一度も使ったことが無い人がいるわけでして。。。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!