2017-07-18 11 views
0

現在、Windows 7とOffice 2010を使用しています。Outlookで電子メールを作成して送信していた古いマクロがあります。それは電子メールの本文を作成するために関数(下記)を使用していました。それは動作していましたが、Office 2010で問題なく動作します。マクロはデータファイルから情報をコピーし、マクロの別のワークシートにペーストします。電子メールを作成するときに、データを新しいノートにコピーします。次に、この関数を呼び出して電子メールの本文を作成します。マクロが下の行に遭遇すると(ERROR HAPPENS HERE)、関数から抜け出し、電子メールの作成と送信を続けますが、電子メールには本文がありません。このコード行に何が間違っているかについてのご意見は、大いに感謝しています。助けてくれてありがとう........Outlook機能が動作しなくなった

Function RangetoHTML(Rng As Range) 

    Dim fso As Object 
    Dim ts As Object 
    Dim TempFile As String 
    Dim TempWB As Workbook 

    TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm" 
' TempFile = "C:\temp" & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm" 

    Rng.Copy 
    Set TempWB = Workbooks.Add(1) 
    With TempWB.Sheets(1) 
     .Cells(1).PasteSpecial Paste:=8 
     .Cells(1).PasteSpecial xlPasteValues, , False, False 
     .Cells(1).PasteSpecial xlPasteFormats, , False, False 
     .Cells(1).Select 
     Application.CutCopyMode = False 
     On Error Resume Next 
     .DrawingObjects.Visible = True 
     .DrawingObjects.Delete 
     On Error GoTo 0 
    End With 

    With TempWB.PublishObjects.Add(_  ' error happens here 
     SourceType:=xlSourceRange, _ 
     Filename:=TempFile, _ 
     Sheet:=TempWB.Sheets(1).Name, _ 
     Source:=TempWB.Sheets(1).UsedRange.Address, _ 
     HtmlType:=xlHtmlStatic) 
     .Publish (True) 
    End With 

    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2) 
    RangetoHTML = ts.ReadAll 
    ts.Close 
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", "align=left x:publishsource=") 

    TempWB.Close SaveChanges:=False 

    Kill TempFile 

    Set ts = Nothing 
    Set fso = Nothing 
    Set TempWB = Nothing 

End Function 
+0

私は何が間違っているかを理解したので、この質問を無視してください。一度変数にデータがないと、フィールドは空白になりました。変数にデータがあることを確認したら、コードは期待どおりに実行されました。 – Shaves

答えて

0

私は何が間違っていたのか分かりませんが、この質問は無視してください。一度変数にデータがないと、フィールドは空白になりました。変数にデータがあることを確認したら、コードは期待どおりに実行されました。

関連する問題