具有不同区域设置/语言的 macOS 上的内容控件

问题描述 投票:0回答:1

我使用此代码创建了一个宏,用于在 Mac 上的 Word 文档中插入 DatePicker:

Sub AddDatePickerCC_GermanExt()
  Dim oCC As ContentControl
  Set oCC = ActiveDocument.ContentControls.Add(wdContentControlDate, Selection.Range)
  With oCC
    .DateCalendarType = wdCalendarWestern
    .DateDisplayFormat = "d. MMMM yyyy"
    .DateDisplayLocale = wdGerman
  End With
  Set oCC = Nothing
End Sub

改编自本指南:macOS 的内容控件

虽然当我将 Word 设置为德语时这有效,但当 Word 的语言更改为英语(区域保留为德国)时,它会失败。

错误提示:

此日历类型不适用于当前日期语言。

调试器指向

.DateCalendarType = wdCalendarWestern
,但更改此设置没有任何意义,因为 Mac 的日历设置为公历。 该字段已插入,但格式为 01/01/2024,而不是指定的格式。

有什么建议吗? 已经谢谢你了!

vba macos ms-word datepicker
1个回答
0
投票

我现在确实做到了。如果有人有同样的问题,请按

With oCC

下的顺序

正确的代码是:

Sub AddDatePickerCC_GermanExt()
  Dim oCC As ContentControl
  Set oCC = ActiveDocument.ContentControls.Add(wdContentControlDate, Selection.Range)
  With oCC
    .DateDisplayFormat = "d. MMMM yyyy"
    .DateDisplayLocale = wdGerman
    .DateCalendarType = wdCalendarWestern
  End With
  Set oCC = Nothing
End Sub

然后就可以正常工作了。

© www.soinside.com 2019 - 2024. All rights reserved.