vb.net - 是否可以在 vb.net for Office 中获取当前显示测量单位?
问题描述
在我的 Office 的 VSTO 加载项中,了解用户为其界面选择的测量单位对我很有用(具体来说,加载项需要知道 Word 文档中的标尺是否以英寸或厘米或其他测量单位)。是否可以使用 VB.NET 检索此信息?我可以使用以下内容检索当前系统语言或界面语言:
System.Globalization.CultureInfo.CurrentCulture
My.Application.Culture
My.Application.UICulture
似乎我可以获得有关当前系统文化是否为公制的信息:
System.Globalization.RegionInfo.CurrentRegion.IsMetric
但是,这不一定与 Word 文档中选择的显示单位相对应,可以从“显示”部分下的“ Word 选项”对话框中设置(“以单位显示测量值:”下拉菜单)。有没有办法使用 vb.net 检索这个?
解决方案
我不知道去哪里找这个。但是,我确实有一个过去曾在 Word/Office VBA API 中查找随机设置的过程。
我所做的是使用“录制宏”功能来查看当我更改相关设置时会生成什么代码。然后我可以使用参考该代码来知道要检查什么。
在这个问题上使用该过程将英寸更改为厘米会生成以下代码:
Options.MeasurementUnit = wdCentimeters
然后我修改了宏以提醒Options.MeasurementUnit
:
MsgBox(Options.MeasurementUnit)
结果是1
。我将它改回“英寸”并再次运行它,我看到了一个0
. 您可以继续此操作以在该设置的下拉列表中找到每个项目的正确值。
推荐阅读
- javascript - 登录后登录表单不重定向
- react-native - 在发布版本中无法从本地 IP 获取数据
- javascript - 将特定的 JS obj 值附加到模式中
- c++ - 是否可以在朋友类 B 中重载 A 类的运算符?
- python - dataclasses.Field 不会将类型注释解析为实际类型
- sql-server - 如何使 FileStream 文件可用于 Web 应用程序
- php - 试图理解 php 命令的本地文件包含:include 'sql.php?/../../etc/passwd'
- reactjs - 如何在多个表之间保持列宽同步?
- javascript - 根据刻度值,如何更改图表的宽度
- java - 使用 nextInt 时出现 InputMismatchException