2016-03-28 79 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