Windows Scripting HostのJavaScript実装でActiveX-Interface経由でMicrosoft Officeデータにアクセスすると、JavaScriptの日付をOfficeの日付変数に割り当てることができません。これによりエラーが発生します。私は現在選択されているOutlookのカレンダーエントリの開始時刻を設定するには、次のスクリプトを使用したい場合はECMA-Script/JavaScriptでMS-Office/Outlookの日付を変更する
例えば、「今」、これは動作しませんします
olApplication = new ActiveXObject("Outlook.Application"); // call Outlook interface
if ((olApplication.ActiveExplorer().Selection.Count > 0) && (olApplication.ActiveExplorer().Selection.Item(1).Class==26)) { // make sure an appointment-item is selected in Outlook
now=new Date();
olApplication.ActiveExplorer().Selection.Item(1).Start = now; /* ERROR thrown */
olApplication.ActiveExplorer().Selection.Item(1).Save();
}
私はolApplicationを読んだとき。 ActiveExplorer()。Selection.Item(1).Startまたは他の日付フィールドを直接、ローカライズされたStringに変換されます。
olApplication.ActiveExplorer().Selection.Item(1).Start = "4.5.2017 12:00:00";
が、これは別のローカライズでスクリプトを中断します、そして形式はJavaScriptのDate.toLocaleString()実装と互換性がありません:私は簡単に日付提出それにローカライズされた時間の値を割り当てることによって設定することができます。
どのように私はOfficeで、特にJavaScriptでOutlookを設定できますか?
w3schoolを使用しないでください。「*使用するロケール規則... *」という記述は間違っています。 * toLocaleString *によって返される値は、**完全に**実装依存であり、言語と日付の書式に関するユーザーの好みを頻繁に無視します。 – RobG