2016-03-28 80 views
1

我正在开发一个Word加载项,我需要从代码中访问“Word选项”。更具体地说,我希望每当“禁用硬件图形加速”属性的值打开或关闭时都会看到。从代码获取Word设置属性

我没有尝试从注册表中读取数据,我只是试图获取word interop服务。但没有成功。

screenshot example

+0

你尝试过这么远吗?堆栈溢出是为了帮助*现有*代码的问题,而不是写一些....你有没有试过谷歌?在我看来,这应该是一个简单的注册表项.. .. – cramopy

+0

只是在这里澄清,“禁用硬件图形加速”是Word桌面应用程序的属性,而不是Word文档(文件本身)的属性。请检查你的措辞,并明确说明实际情况。 – Athafoud

+0

您使用的是哪个版本的办公室? – ehh

回答

0

正如我所说,第一款谷歌进入我发现了这个one here

您只需要查看DisableHardwareAccelerationHKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Graphics下的注册表值。
版本密钥(15.0)可能取决于您使用的办公室版本。

我建议你先搜索Office,然后选择你找到的最高版本。

旁注:

  • 值一(1)代表残疾人
  • 没有钥匙零(0立场启用/未被禁用
+0

在注册表中没有“DisableHardwareAcceleration”属性,除非我们在Graphics文件夹中明确创建。是这样吗? – KIS

+0

@kamesh我可以看到,文件夹第一/只有当用户通过办公室本身禁用* hardwAcc *时才创建。如果没有这样的密钥,这代表*不禁用*。所以是的,这是真的。 – cramopy

+0

as @ehh指出这个选项*可能*只能在** office 2010 + **上可用!但我不知道,因为powerpoint 2002已经有一个选项,称为“使用硬件加速”... – cramopy

0

我做在我的MS Word 2007上没有这个选项。 但是你可以做的是记录一个宏。 您需要让开发人员选项卡可见。

记录宏,转到您需要检查的选项。完成后,您可以在“宏”按钮下编辑生成的代码。 如果通过代码有这样的选项(勾选“禁用硬件图形加速”),你会看到如何。

生成的代码在VBA中,您需要将其转换为适当的语言。

更新:

我记录的Word 2013宏和它不会产生任何代码。通过代码没有这种选择。

仅供参考,如果你想录制宏(根据到Word 2013,可能是其他的版本非常类似):

  1. 文件 - >选项 - >自定义功能区 - >主选项卡(右侧) - >检查开发者复选框
  2. 在开发人员选项卡 - >录制宏 - >确定
  3. 现在,你是在拍摄模式下,去到Word选项 - >高级 - >在显示下,选中/取消选中“禁用硬件图形加速”复选框。
  4. 在开发选项卡,停止录制
  5. 点击宏 - >编辑录制的宏 - >你可能会得到一些自动生成的代码子程序:

    Sub Macro1() 
    ' 
    ' Macro1 Macro 
    ' 
    ' 
    End Sub 
    

此录制的宏没有按没有显示任何代码,这是记录您寻找的选项。

在另一次录制的宏(复选框也是在Word选项 - >显示“进行布局,而不是可读性Optiomize角色定位”)的一个例子:

Sub Macro2() 
    ' 
    ' Macro2 Macro 
    ' 
    ' 
    Options.PrecisePositioning = True 
End Sub 
+0

请问您能否在某种程度上向我发送详细信息? – KIS

+0

所以,这不会帮助正确吗?我们可以做任何其他解决方案来获取此属性值,因为我试图读取注册表值,但它也不适用于所有字版本,即使该注册表值仅在2010年新增加,当我们第一次禁用单词选项中的“硬件加速”。在字2013年,即使这是行不通的。 – KIS

+0

正如您所看到的,通过Word互操作正确,这是不可能的。我在办公室2013上试用了我的个人电脑 – ehh