2016-06-30 5 views
0

Outlook 2013で開かれたVB.Netを使用して電子メールを作成しています。ユーザーが設定したデフォルトのフォントで表示される内容が必要です。MailItem.GetInspector.WordEditorはNothingを返します

今、私はデフォルトのフォントを取得し、電子メールに設定する必要があります。私はそれを試したときにnullを1か所で返します。

//コード:私は間違っ

Private m_valDefaultFontSpec As DefaultFont 

Sub GetDefaultFontSpec(Optional blnGetReplyFont As Boolean = False) 

    Dim objDoc As Document 
    Dim rng As Range 
    Dim objDummy As MailItem 

    On Error Resume Next 

    ' Create a "dummy" mail object, 
    Set objDummy = Application.CreateItem(olMailItem) 

    ' Get the document object from the current "dummy mail" object. 
    Set objDoc = objDummy.GetInspector.WordEditor //returns nothing here 

    ' Get the range of the word document object. 
    Set rng = objDoc.Range 

    ' Get some font properties from the given range. 
    With rng 
     m_valDefaultFontSpec.Name = .Font.Name 
     m_valDefaultFontSpec.Size = .Font.Size 
     m_valDefaultFontSpec.Bold = .Font.Bold 
     m_valDefaultFontSpec.Color = .Font.Color 
     m_valDefaultFontSpec.Italic = .Font.Italic 
    End With 

    ' Finished with the "dummy" mail, close it. 
    objDummy.Close olDiscard 

    On Error GoTo 0 

End Sub 

?どんな助け?メッセージが表示されるまで

Source

答えて

0

WordEditorプロパティが使用できない場合があります。

MailItem.HTMLBodyプロパティを設定してみてください。

+0

電子メールの作成中にユーザーが設定したデフォルトのフォントを取得する必要があります。現在、すべてデフォルトはTimesNewRomanです。どこで/私はデフォルトのフォントを取得できますか? – iamCR

+0

HTMLBodyを設定するときに明示的に正しいフォントを指定しないのはなぜですか? –

+0

正しいフォントはユーザー定義のフォントです。だから私はOutlookのどこかから(コードのように)それを取得する必要があります。 – iamCR

関連する問題