[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『【VBA】現在のブックを、指定セルの値を名前として保存し、Outlookメールに添付したい』(はる)
初めて質問させていただきます。VBA初心者です。
以下3点を実行したく、自分なりに調べて記述をしましたが、上手くいきません。
どなたか助けていただけないでしょうか。
・現在のブックを、指定のフォルダに名前を付けて保存
・その際、現在のブック【A1】セルの値を名前にし保存したい
・同時に現在のブックを添付したOutlookメールを立ち上げたい
記述↓ 携帯から打っている為、見づらい箇所がありましたら申し訳ありません
Dim xRg As Range
"Update by Extendoffice 2018/3/7
Private Sub Worksheet Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg Intersect(Range("D7"), Target) If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value> 200 Then
Call Mail_small_Text Outlook
End If
End Sub
Sub Mail_small_Text Outlook()
Dim xOutApp As Object
Dim xOutMail As Object Dim xMailBody As String
Set xOutApp CreateObject("Outlook Application")
Set xOutMail-xOutApp.CreateItem(0)
xMailBody"○○"
On Error Resume Next
With xOutMail
.To= "○○.co.jp"
.CC=""
.BCC=""
.Subject="○○"
.Body xMailBod
.This Workbook.SaveAs Filename:="T:ファイルの保存先パス"& ThisWorkbook(Range("A1").Value, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
.Attachments.Add ThisWorkbook.Path& "\" & ThisWorkbook.Name
.Display
End With
On Error GoTo 0
Set xOutMail- Nothing
Set xOutApp Nothing
End Sub
記述以上
コンパイルエラーでは、SaveAs文のRangeの部分を指摘されます。
どのように修正したらよろしいでしょうか。
< 使用 Excel:unknown、使用 OS:Windows10 >
.This Workbook.SaveAs Filename:="T:ファイルの保存先パス"& ThisWorkbook(Range("A1").Value, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
上記がそのまま書かれているとしたら、
1)xOutMailというMailItem オブジェクトのプロパティ/メソッドに、
ThisWorkbookはありません。
2)ThisWorkbook(Range("A1").Value
・シートを指定していない
(giraffe) 2023/03/30(木) 21:10:20
ここから持ってきたのかな? 試してないけど、整頓するとこんな感じ? Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) 'Update by Extendoffice 2018/3/7 Dim xRg As Range If Target.Cells.Count > 1 Then Exit Sub Set xRg = Intersect(Range("D7"), Target) If xRg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value > 200 Then Call Mail_small_Text_Outlook End If End Sub Sub Mail_small_Text_Outlook() Dim xOutApp As Object Dim xOutMail As Object Dim xMailBody As String Dim strFileName As String Set xOutApp = CreateObject("Outlook Application") Set xOutMail = xOutApp.CreateItem(0) xMailBody = "○○" strFileName = "T:\ファイルの保存先パス\" & Range("A1").Value & ".xlsx" ThisWorkbook.SaveAs FileName:=strFileName, _ FileFormat:=xlOpenXMLWorkbookMacroEnabled With xOutMail .To = "○○.co.jp" .CC = "" .BCC = "" .Subject = "○○" .Body = xMailBody .Attachments.Add strFileName .Display End With Set xOutMail = Nothing Set xOutApp = Nothing End Sub
(稲葉) 2023/03/31(金) 10:05:44
家でPCが使えない環境なので、週明けに職場で試してみようと思います。
ありがとうございます。
(はる) 2023/03/31(金) 22:05:09
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.