
取引の為余計なソフトを入れなかった為、officeのOutlookを入れようとしたら、WindowsのOutlookが入ってしまい、普通に使えるのですが、VBAから操作できず困っています。
WindowsのOutlook
Microsoft Outlook バージョンがインストールされています1.2024.1009.100 (Production).
クライアント バージョンは以下の通りです:20241011003.11.
WebView2 バージョンは 129.0.2792.89.
セッション ID は 6ae48727-7623-7640-8eb7-24548d6cf6cf.=
officeのOutlook の使い方は下記の通りです。一番簡単な方法かと・・・(当方はこれで十分なのですが)
'Outlookオブジェクトの変数宣言
Dim outlookObj As Outlook.Application
Set outlookObj = New Outlook.Application
'メール送信用のオブジェクト作成
Dim mailObj As Outlook.MailItem
Set mailObj = outlookObj.CreateItem(olMailItem)
With mailObj
'' .To = "xxxxxxxxxxxxx@xxxxx.xxx" 'メール宛先
'' .Subject = "メールの件名" 'メール件名
'' .body = "メール本文" 'メール本文
'' .BodyFormat = olFormatPlain 'メール形式に設定
End With
.send
WindowsのOutlookの ブジェクトの変数宣言 と メール送信用のオブジェクト作成 などを
お教え願えれば幸いです。
参考URL でも結構です。
No.4ベストアンサー
- 回答日時:
No3です。
>お説のMsgBox obj.Name とやれば Outlook と返します。
>クラスと言うエラーは
>Set mailObj = outlookObj.CreateItem(olMailItem) で発生します
相変わらず、実行環境が不明ですけれど、外部ソフトから制御しようとしていて、バインドができているのなら、
Set obj = CreateObject("Outlook.Application")
Set mailObj = obj.CreateItem(0)
でいけるのではないですか?
上記で上手くいかないようなら、Outlook側のVBAエディタのオブジェクトブラウザで、Applicationオブジェクトに関して
・CreateItemメソッドが存在するかどうか
・存在する場合には、引数がどうなっているか
を確認なされば解決するでしょう。
たびたび、恐縮です。
どうも、このただのOUTLOOK
「UWP版のメールから置き換えされたOutlook(new)ってアプリについては、IMAPとWEBメールしか対応していない」
らしくて、そも、外部からコントロールできる代物ではないようです。
お手数おかけしました。
ところが、今のOfficer ソフト(Outlook)一つだけ入れるということは、大変らしい・・・逆に言うと officeのOutlookが なぜ死んだのか?
ショートカットだけ残っているみたいな??
どうもそこから見たいな話で・・・大変お手間とらせました。陳謝
No.3
- 回答日時:
No1です。
どうやら、断片的な情報しか示す気がないようなので、さっぱりわかりませんけれど・・・
1)Outlookで実行してみれば、と書いたのは
・そもそも、そのOutlookでVBAが使えるのか
・使える場合に、オブジェクトの構成やメソッドがどうなっているか
などなどを確認するという意味です。
これがわからなければ、制御などできませんので・・
2)参照設定は正しくできているかという意味は、ソフトのバインドが
できているかということです。 補足に、
>参照設定は大丈夫です。
と書いてありますが、
>オートメーションエラー、クラスを提供できないと出ます。
というのは、バインドできていないという事ではないのですか?
1)がダメなら、当然、2)も期待はできませんけれど・・
例えば、レイトバインドでもダメということでしょうか?
どのように実装しているのかも情報がないままでわかりませんけれど・・
Set obj = CreateObject("Outlook.Application")
MsgBox obj.Name
obj.Quit
とか。
情報不足陳謝。
基本、上記のコードで officeのOutlook が入っているマシンでは動きます。
で、Windowsのただ(フリー)のOutlookだと動かない
そのくせ
お説のMsgBox obj.Name とやれば Outlook と返します。
クラスと言うエラーは
Set mailObj = outlookObj.CreateItem(olMailItem) で発生します。
話変わって
CDO.Message
これをググっていろいろやってみたのですが
両方のマシンでNG くらっています
サーバーに送っているようですが、サーバーが受け取らないというか NG。
タイムアウト的なエラーを返します
これは
.Item(cdoSendUserName) = "xxxxx" '送信ユーザー
.Item(cdoSendPassword) = "" '送信パスワード
ここらしいのですが、そも 送信パスワード って メーラーでも出てこないし・・・
送るときにキーをつけるって事では?? なら、”” でいいはず、ってとこで中断・・・
No.1
- 回答日時:
こんばんは
VBAはVisual Basic for Applicationsなので、基本的には当該ソフトでのマクロ的な機能だと思いますけれど、ご提示のコードはそうではないように見受けられます。
>VBAから操作できず困っています。
どのような状況下で実行して、どのように「うまくいかない」のか不明ですけれど、また、「WindowsのOutlook」がどのようなものなのかもよくわかりませんが、ひとまず、OutlookのVBAとして設定した場合でも動作しないのでしょうか?
(Outlookに設定する場合は、宣言部等を若干変える必要があります)
こちらで、アプリケーション内のオブジェクトやメソッドが正しいかをチェックできると思います。
また、他のソフトから制御する場合に、ご提示のコードでは参照設定が必要だと思いますけれど、参照設定は正しくできているのでしょうか?
officeのOutlookの入っているマシンでは このコードで送信可能です。
入っていないマシンに Outlookを入れようと検索したら、New とついたOutolookが入ってしまい、これがofficeのものとが別物で、
(無料のWindows付属のはPOP3に対応していませんので、更新ボタンはありませんIMAPになります)。。。らしいです。
で、上記のコードでは 動かない。
オートメーションエラー、クラスを提供できない
と出ます。
https://learn.microsoft.com/ja-jp/office/vba/out …
ここらあたりかと思うのですが、
これもうまくゆかなくて・・・
参照設定は大丈夫です。
よろしく
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
VBA 2次元配列の出力
Visual Basic(VBA)
-
-
4
VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
5
エクセルのVBAコードについて教えてください。
Visual Basic(VBA)
-
6
エクセルVBAで特定のセルの値をコメントに置き換えることについて A1のセルに入っている値(文字)を
Visual Basic(VBA)
-
7
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
8
エクセルVBAのブックを開く方法 例えば [20241001] [20241002] [202410
Visual Basic(VBA)
-
9
至急助けてください!!!あと2時間しかないです! ボタンを押したら0ランプが点灯し、コンマ5秒後に1
その他(プログラミング・Web制作)
-
10
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
11
エクセルvbaの対象セルに色をつける 例えば a日付 b種類 c値段 dその他 にんじん 50 ぴー
Visual Basic(VBA)
-
12
excelVBAについて。
Excel(エクセル)
-
13
Cのプログラムからアクセスできないファイル名の一括変更方法
C言語・C++・C#
-
14
プログラミングのやり方ざっくりでいいから教えて
その他(プログラミング・Web制作)
-
15
今までは、 「CSVの出力先を選択してください。」 という画面から、CSVファイルをデスクトップに引
Excel(エクセル)
-
16
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
17
修正依頼:【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
18
VBAのエラー表示の対処法について
Visual Basic(VBA)
-
19
VBAのループ処理について教えてください
Visual Basic(VBA)
-
20
Excelのマクロについて教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のExcelファイルをマージす...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
エクセルのマクロについて教え...
-
ダブルクリックで貼り付けた画...
-
Excelマクロで使うVBAコードを...
-
Excelのマクロについて教えてく...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】変数を使った、文字...
-
ExcelVBAでパワポを操作したい
-
testファイル内にある複数のpng...
-
(EXCEL超初心者)EXCELの関数(ま...
-
Excelのマクロについて教えてく...
-
算術演算子「¥」の意味について
-
[VB.net] ボタン(Flat)のEnable...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】売上一覧YYYYMMDDHHS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録で...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字...
おすすめ情報