
取引の為余計なソフトを入れなかった為、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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Visual Basic(VBA) Outlookの「受信日時」「送信者アドレス」「件名」「本文」の内容をExcelへの取り込み 2 2024/02/05 19:05
- その他(Microsoft Office) outlookで宛先が異なるメールを一括送信する方法 outlookで200人それぞれをtoに指定し 2 2023/08/03 21:24
- Outlook(アウトルック) Outlook ( Microsoft 365 )のメールの本文内の文字検索 2 2023/09/12 08:46
- Outlook(アウトルック) outlookメールで通知が来ない原因はなにでしょうか? 3 2024/08/10 19:09
- Outlook(アウトルック) Outlookメールを立ち上げた(開いた)ときに常に『受信メール』一覧が表示される、という設定の方法 1 2023/04/30 17:37
- Outlook(アウトルック) Outlook(バージョン2310) 3か月以上前のメールが消えた! 3 2023/11/29 21:22
- Outlook(アウトルック) outlookのメール取得とサーバーについて。 今まで他社ocnメールアドレスとサーバー利用で PC 4 2023/12/04 17:11
このQ&Aを見た人はこんなQ&Aも見ています
-
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
VBA 2次元配列の出力
Visual Basic(VBA)
-
-
4
VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
5
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
6
Excelの時刻の不思議
Excel(エクセル)
-
7
VBA初心者です。次のVBAコードで、17行目を削除したいのですがうまく動きません 改善策を教えてく
Visual Basic(VBA)
-
8
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
9
エクセルのVBAコードについて教えてください。
Visual Basic(VBA)
-
10
VBA 入力箇所指定方法
Visual Basic(VBA)
-
11
至急助けてください!!!あと2時間しかないです! ボタンを押したら0ランプが点灯し、コンマ5秒後に1
その他(プログラミング・Web制作)
-
12
エクセルVBAのブックを開く方法 例えば [20241001] [20241002] [202410
Visual Basic(VBA)
-
13
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
14
エクセルVBAで特定のセルの値をコメントに置き換えることについて A1のセルに入っている値(文字)を
Visual Basic(VBA)
-
15
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
16
ネットワークフォルダの中身をクリアするbatの記述を教えてください。
その他(プログラミング・Web制作)
-
17
【マクロ】フォルダ内にあるPDFを合体させるには?有料版adobe必要?
Excel(エクセル)
-
18
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
19
EXCEL vbaでシート上に配置したボタンの移動については
Visual Basic(VBA)
-
20
python エラー
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
2つのマクロでチェックボックス...
-
【ExcelVBA】5万行以上のデー...
-
VBAでCOPYを繰り返すと、処理が...
-
エクセルの改行について
-
【ExcelVBA】値を変更しながら...
-
Excel 範囲指定スクショについ...
-
【マクロ】開いているブックの...
-
VBAでセルの書式を変えずに文字...
-
[VB.net] ボタン(Flat)のEnable...
-
vb.net(vs2022)のtextboxのデザ...
-
【マクロ】変数を使った、文字...
-
(EXCEL超初心者)EXCELの関数(ま...
-
VBA レジストリの値の読み方に...
-
エクセルのマクロについて教え...
-
エクセルのVBAコードと数式につ...
-
VBAの「To」という語句について
-
算術演算子「¥」の意味について
-
Vba 型が一致しません(エラー1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
testファイル内にある複数のpng...
-
改行文字「vbCrLf」とは
-
エクセルVBA 検索結果を隣のシ...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】切取りの場合、形式...
-
【ExcelVBA】5万行以上のデー...
-
ExcelVBAでパワポを操作したい
-
(EXCEL超初心者)EXCELの関数(ま...
-
エクセルの改行について
-
Excelマクロで使うVBAコードを...
-
ワードの図形にマクロを登録で...
-
【マクロ】変数を使った、文字...
-
VBAでFOR NEXT分を Application...
-
VBAの質問(Msgboxについて)です
-
エクセルのVBAコードについて教...
-
Excelマクロで使うVBAコードを...
-
Excelのマクロについて教えてく...
-
VBAの「To」という語句について
-
【マクロ】値を渡されたプロシ...
おすすめ情報