3

頭が痛くなるような問題が少しあります。AD からユーザー情報を取得し、すべてのユーザーの署名として適用する VBScript 署名作成スクリプトを作成しました。美しく機能し、とても満足しています。1つの問題を除いて。私は検索しましたが、同じ問題を抱えている他の人を見つけましたが、解決策を見つけることができませんでした.


まず、スクリプトに関するいくつかの背景:

スクリプトは、Microsoft の記事hereに従って、次のオブジェクトを使用して署名を構成するように設定されています。

Word.Application.EmailOptions.EmailSignature.EmailSignatureEntries

次に、スクリプト全体で、フォントを何度か変更する必要があります。そのために、次のような行を使用します。

objSelection.Font.Name = "Times New Roman"

これは、私とほとんどのユーザーにとって問題なく機能します。ただし、私の技術者の 1 人は、以前に Word の既定のフォントを Times New Roman に変更していました。彼のためにスクリプトを実行すると、TNR であるはずの行が、代わりに Calibri として表示されます。Office 2007 を実行しているため、Word の元の既定のフォントは Calibri です。自分の PC と別の PC で既定のフォントを変更してテストしたところ、両方で問題を再現することができました。

以前リンクした Technet のポスターには、元のドキュメントのすべてのフォントが正しいことが記されていました。フォントが混同されたのは、「EmailSignatureEntries」が署名として使用するためにRTFとHTMLに保存したときだけでした。

私はこれに本当に困惑しています。どんな助けでも大歓迎です!:)

4

1 に答える 1

1

会社用に自動 AD が入力された新しい署名を作成しているときに、同じ問題に遭遇しました。私がインターネットで見つけたものから、そしてまた示唆していることは、署名がWordのNormal.dot(m)にあるのと同じフォントで作成されているときに問題が発生することです。

例えば; 私の会社は、Word、Excel、および Outlook の既定のフォントとして Arial 10 を使用したいと考えていました。もちろん、必要なすべてのファイルを変更し、これを実現するために GPO を配置しました。すべてがうまくいき、Word などのデフォルトのフォントは Arial でした。

ここで、フォントが Arial であるべきだとも述べている signature.vbs スクリプトを実行すると、奇妙なことに、結果は常にフォントとして Calibri になります。これを少しいじってみたところ、Arial 以外の任意のフォントを使用できることに気付きました。

これは私を2日間狂わせていましたが、それから私を襲いました。- ユーザー プロファイルに一時的な normal.dot(m) (デフォルト フォントとして Calibri を使用) を配置し、VBS で署名を作成し、適切な Normal.dot(m) をプロファイルに配置するとどうなりますか?

結局のところ、これでうまくいきました。そこで、Normal.dot(m) のファイル配置 GPO を取り出し、一時コピー、vbs の実行、最終コピーをバッチスクリプトに統合し、署名.vbs も起動しました。

これは、おそらく自分のニーズに合わせて調整する必要があるバッチの私のコードですが、基本的な考え方を示しています。発言の英訳を追加したので、オランダ語を学ぶ必要はありません:)

これがあなたとまだ「解決策」を探している人に役立つことを願っています.

@echo off
REM Verwijder alle default word templates in het userprofile (niet meer via GPO)
REM Remove all default Word templates in the userprofile (no longer through GPO)
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Sjablonen\Normal.dotm
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Templates\Normal.dotm
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Sjablonen\NormalEmail.dotm
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Templates\NormalEmail.dotm

REM Check of het Handtekeningscript al gelopen heeft, zoja ga over tot plaatsen juiste normal.dotm
REM Check if the signaturescript already ran, if so copy the proper normal.dotm
IF EXIST %homeshare%\pvfsig.txt goto copynormal

REM Plaats een tijdelijke Normal.dotm ivm een conversie issue als je default Arial hebt (wordt Calibri)
REM Copy a temporary Normal.dotm in the profile so the conversion problem with the Default font won't occur.
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_met_calibri\Normal.dotm %userprofile%\AppData\Roaming\Microsoft\Sjablonen\Normal.dotm
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_met_calibri\Normal.dotm %userprofile%\AppData\Roaming\Microsoft\Templates\Normal.dotm
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_met_calibri\NormalEmail.dotm %userprofile%\AppData\Roaming\Microsoft\Sjablonen\NormalEmail.dotm
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_met_calibri\NormalEmail.dotm %userprofile%\AppData\Roaming\Microsoft\Templates\NormalEmail.dotm

REM Start Handtekening VBS script om de handtekening te genereren
REM Start signature VBS script to generate the signature
cscript \\pvf\netlogon\scripts\huisstijl\outlooksig_new.vbs

REM Verwijder tijdelijke Normal.dotm bestanden
REM Remove the temporary Normal.dotm files
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Sjablonen\Normal.dotm
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Templates\Normal.dotm
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Sjablonen\NormalEmail.dotm
DEL /F /Q %userprofile%\AppData\Roaming\Microsoft\Templates\NormalEmail.dotm

REM Creeer een check bestand op de Homedirectory v/d gebruiker
REM Create a checkfile in the users homedirectory
echo pvf standaard handtekening is aangemaakt > %homeshare%\pvfsig.txt

REM Kopieeren van juiste normal.dotm bestanden (met Arial)
REM Copy the proper normal.dotm files into place
:copynormal
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_pvf_huisstijl\Normal.dotm %userprofile%\AppData\Roaming\Microsoft\Sjablonen\Normal.dotm
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_pvf_huisstijl\Normal.dotm %userprofile%\AppData\Roaming\Microsoft\Templates\Normal.dotm
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_pvf_huisstijl\NormalEmail.dotm %userprofile%\AppData\Roaming\Microsoft\Sjablonen\NormalEmail.dotm
COPY /Y /Z \\pvf\netlogon\Scripts\huisstijl\normal_pvf_huisstijl\NormalEmail.dotm %userprofile%\AppData\Roaming\Microsoft\Templates\NormalEmail.dotm

:end
EXIT
于 2014-10-17T07:10:08.963 に答える