0

既存のフォームを変更して、デスクトップに.oftファイルとして保存しました。このフォームを送信するたびに、古い署名が表示されます。

.oftファイルをダブルクリックすると、その古い署名が付いた本文が表示され、その下に新しい署名が表示されます。本体に残っている古い署名を削除したいと思います。私を混乱させるのは、Outlookフォームでそのファイルを開くと、メッセージに署名が含まれないことです。そのため、フォームを実行すると、送信する場合を除いてこの署名が表示されず、開くとプレビューで表示されます。 Outlookフォームが表示されるはずのメッセージ。


ファイルをhtmlとして保存することができました。ページの下部に署名が表示されます。

htmlファイルを削除または変更して、その署名を削除し、元のoftファイルを元に戻すにはどうすればよいですか。

また、htmlとして保存し、署名を削除して保存し、マクロを使用してhtmlをロードしてみました。しかし、多くの場合、保存することはできません。

Sub MakeHTMLMsg()
Set objMsg =3D Application.CreateItem(olMailItem)
Set fso =3D CreateObject("Scripting.FileSystemObject")
Set ts =3D fso.OpenTextFile("c:\testfile.htm", 1)=20
strText =3D ts.ReadAll
objMsg.HTMLBody =3D strText
objMsg.Display
Set fso =3D Nothing
Set ts =3D Nothing=20
Set objMsg =3D Nothing
End Sub
4

2 に答える 2

1

あなたまたは共同編集者が誤ってメッセージ本文にRTFを含む.oftOutlookフォーム(署名を含む)を保存した場合、私が知る限り、このリッチテキストは.oftに永久に残ります(ハックすることにした場合を除く) 16進エディタで)。他の人がウェブの暗い隅で示唆しているように、フォームを実行し、メッセージ本文を削除して、それを.oftとして保存できますが、残念ながら、これはRTFでは機能しません。RTFがスタックしています。このテキストを非表示にする唯一の方法は、このVBScript Outlookマクロを使用して、MailItemのBodyFormatタイプをプレーンテキストに変更することです。RTFバイトは.oftに残りますが、少なくとも誰もそれらを見ることができません。

Sub ChangeToPlainTextAndPublishForm()
    Dim objOL       ' As Outlook.Application
    Dim objItem     ' As Outlook.ContactItem
    Dim objFD       ' As Outlook.FormDescription
    Const olPersonalRegistry = 2
    Const olDiscard = 1

    Set objOL = CreateObject("Outlook.Application")
    Set objItem = objOL.CreateItemFromTemplate("C:\MyPath\MyForm.oft")
    Set objFD = objItem.FormDescription

    objItem.BodyFormat = OlBodyFormat.olFormatPlain

    'Publish to personal forms library
    With objFD
        .DisplayName = "myForm"
        .PublishForm olPersonalRegistry
    End With
    objItem.Close olDiscard

    Set objFD = Nothing
    Set objItem = Nothing
    Set objOL = Nothing
End Sub
于 2015-02-04T22:30:28.843 に答える
0

了解しました。メッセージボックスを追加してください。次に、このフォームを実行します。と出来上がり。不要な署名を削除します。名前を付けて保存

ありがとうございました

于 2009-05-13T22:35:14.800 に答える