2017-09-27 8 views
-1

マクロを電子メールで送信しようとしているブックがあります。この方法では、受信者はブックに含まれているマクロを使用することもできます。これは私の会社のオフィス生活を楽にします。保存したファイル名を.xlsmに設定しようとしましたが、エラーが発生します。マクロとすべてでワークブックを電子メールで送信

これはまた、あなたの.SaveAsラインでこの引数を含める必要があります(オンライン情報源から構成されている)私のコード

Sub MailGo() 
'Variable declaration 
Dim oApp As Object, _ 
oMail As Object, _ 
WB As Workbook, _ 
FileName As String, MailSub As String, MailTxt As String 

'Turns off screen updating 
Application.ScreenUpdating = False 

'Makes a copy of the active sheet and save it to 
'a temporary file 
ActiveSheet.Copy 
Set WB = ActiveWorkbook 
FileName = "Text.xls" 
On Error Resume Next 
Kill "C:\" & FileName 
On Error GoTo 0 
WB.SaveAs FileName:="C:\Users\Public\Documents" & FileName 

'Creates and shows the outlook mail item 
Set oApp = CreateObject("Outlook.Application") 
Set oMail = oApp.CreateItem(0) 
With oMail 
    .To = "[email protected]" 
    .Cc = "" 
    .Bcc = "" 
    .Subject = "LotInput" 
    .Body = "LotInput" 
    .Attachments.Add WB.FullName 
    .Display 
    .send 
End With 

'Deletes the temporary file 
WB.ChangeFileAccess Mode:=xlReadOnly 
Kill WB.FullName 
WB.Close SaveChanges:=False 

'Restores screen updating and release Outlook 
Application.ScreenUpdating = True 
Set oMail = Nothing 
Set oApp = Nothing 
End Sub 
+0

おそらくsysAdminの助けを借りなければ回避できない電子メールセキュリティ設定がありますが、これらの安全機能を無効にすることはお勧めできません。確かに、共通のファイル共有があり、それを保存して電子メールにファイルへのリンクを含めることができるので、 'xlsm'をローカルマシンにプルダウンすることができます。 – GibralterTop

+0

エラーとは何ですか?その原因は何ですか? –

答えて

1

です。

FileFormat:=xlOpenXMLWorkbookMacroEnabled 
+0

ありがとうございましたこれは非常に役に立ちました!私がこれで遭遇している唯一の問題は、有効なマクロはドキュメント内の既存のマクロを保持していないが、ファイル形式だということです。 –

関連する問題