No.1ベストアンサー
- 回答日時:
写真にコードを追加する事は出来ませんが
OutlookのVBA
1,選択しているメールが複数でも書き出す
一例です
Sub test()
Dim objSelect As Outlook.Selection
Set objSelect = Outlook.Application.ActiveExplorer.Selection
Dim i As Long
For i = 1 To objSelect.Count
With objSelect.Item(i)
'ここに処理
Debug.Print .Subject
End With
Next
Set objSelect = Nothing
End Sub
2、選択しているメールをmsgファイルとしてExcelにリンクを貼り付け・・
この場合、msgファイルとして保存する必要があるのでは?(Outlook使わないのでよく知らないけれど)
Debug.Print .Subjectの部分に
.SaveAs "FilePath" & "\" & i & "FileName" & ".msg" みたいな感じ
FileNameを何処から取得するか少し課題が残りそう
(ファイル名に出来ない文字列を全角にしているようなので理解されているかと)
OutlookとExcelの処理は分けた方が問題が起こりにくいです
(そのようになっていそう)
Outlook処理
文字列取得 ファイルパス&ファイル名作成取得 を取得 msgファイル保存
Excel処理
文字列出力
ファイルパス&ファイル名でリンク作成埋め込み
ざっくり一例です
サンプル実行条件 デスクトップに AAAフォルダがあり、aaa.xlsxがあること 2度目の処理(.msg上書き)については未検証
配列を使用してOutlookとExcelの処理を分けています
アプリケーション操作なのでApplication.WaitやDoEventsが必要かも
ブックは閉じていない(未保存)
"olMail"を作成したstrSubjectにすれば良いかも
Sub test()
Dim folPath As String, WSH As Variant
Set WSH = CreateObject("WScript.Shell")
folPath = WSH.SpecialFolders("Desktop")
Set WSH = Nothing
Dim objSelect As Outlook.Selection
Set objSelect = Outlook.Application.ActiveExplorer.Selection
Dim i As Long
ReDim strSubject(1 To objSelect.Count), strAddress(1 To objSelect.Count)
For i = 1 To objSelect.Count
With objSelect.Item(i)
Debug.Print .Subject
strSubject(i) = .Subject
strAddress(i) = folPath & "\AAA\" & i & "olMail" & ".msg"
.SaveAs strAddress(i) '保存
End With
Next
Set objSelect = Nothing
Dim objExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Set objExcel = New Excel.Application
objExcel.Visible = True
Set wb = objExcel.Workbooks.Open(folPath & "\" & "aaa.xlsx")
Set ws = wb.Worksheets(1)
Dim n As Long
n = ws.Cells(ws.Rows.Count, "AL").End(xlUp).Row + 1
For i = 1 To UBound(strAddress)
ws.Hyperlinks.Add Anchor:=ws.Cells(i, "AL"), Address:=strAddress(i), TextToDisplay:=strSubject(i)
Next
' wb.Close
objExcel.Quit
Set objExcel = Nothing
Set wb = Nothing
Set ws = Nothing
End Sub
追記:作成したコードがある場合は写真投稿でなく実際のソースコードを
投稿した方が回答が得られやすいです
ご質問の処理コードに合わせた回答も得られやすいです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) Excelの表をメールで指定日時に送る方法を教えてほしい 2 2023/04/07 16:40
- Visual Basic(VBA) VBA リストボックス複数選択からセルへの反映についての質問です。 リストボックス1では1つ選択 リ 6 2023/02/24 12:51
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
TVリモコン設定(SMILE KIDS)
-
Excelシート上で右クリックがで...
-
excelのオートフィルターのリス...
-
access2003 クエリSQL文に...
-
ExcelVBAで「Shift_JIS(MS932)...
-
UWSCでMOUSEORG関数が上手く処...
-
1日に1人がこなせるプログラム...
-
VBA 税率を判定表する方法を教...
-
特定行の背景色を変えたいのですが
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
コンボボックスの複数列表示に...
-
VBでの「もぐらたたきゲーム作...
-
Excel VBA素人です。VBAで図形...
-
C#で入力可能なカウントダウン...
-
Excelマクロは今後止めたほうが...
-
ホワイトノイズの生成コードに...
-
先ほど、回答者様によって教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
過剰なオブジェクト指向脳から...
-
1、Rstudioで回帰直線を求める...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
pythonにてseleniumを使うも、...
-
access2021 VBA メソッドまたは...
-
chatgptでつくってもらったコー...
-
パイソンプログラム
-
Gitのクローンについて
-
ExcelのVBAコードについて教え...
-
JANコードとPOSコードは同じ?
-
sinカーブの表示のさせ方
-
COBOLの文法
-
特定行の背景色を変えたいのですが
-
JavaScriptの定数名が取り消し...
-
アルファベットに付いて質問し...
-
◾️Excel VBA 統合について Cons...
-
変数名「cur」について
おすすめ情報