大家好。 有 c# 调用word 现在需要禁用word的 ctrl+p 快捷键。
搜索 发现
禁用Word的快捷键:
object missing = System.Reflection.Missing.Value;
int keySaveAs = wordApp.BuildKeyCode(Word.WdKey.wdKeyF12, ref missing, ref missing, ref missing);
wordApp.get_FindKey(keySaveAs, ref missing).Disable(); 如上代码 已经可以实现 F12的屏蔽 。 但是Ctrl+p 应该怎办办? 还请各位帮忙。 谢谢。
搜索 发现
禁用Word的快捷键:
object missing = System.Reflection.Missing.Value;
int keySaveAs = wordApp.BuildKeyCode(Word.WdKey.wdKeyF12, ref missing, ref missing, ref missing);
wordApp.get_FindKey(keySaveAs, ref missing).Disable(); 如上代码 已经可以实现 F12的屏蔽 。 但是Ctrl+p 应该怎办办? 还请各位帮忙。 谢谢。
wordApp.FindKey(keySaveAs, ref missing).Disable();
错误 4 参数“2”: 无法从“Word.WdKey”转换为“ref object” E:\Program\test\DocFrmBase.cs 203 104 test
还是谢谢,继续求解。
Word.WdKey.wdKeyControl | Word.WdKey.wdKeyP
//环境 WinXP(SP2),Word2003,VS2005,C#2.0
Microsoft.Office.Interop.Word.Application wordAPP = new Microsoft.Office.Interop.Word.Application();
wordAPP.Visible = true;
object key = Microsoft.Office.Interop.Word.WdKey.wdKeyP; object missing = System.Reflection.Missing.Value; //好象要先增加一个文档才有作用
wordAPP.Documents.Add( ref missing, ref missing, ref missing, ref missing ); int keySaveAs = wordAPP.BuildKeyCode( Microsoft.Office.Interop.Word.WdKey.wdKeyControl, ref key, ref missing, ref missing );
wordAPP.get_FindKey( keySaveAs, ref missing ).Disable(); wordAPP = null; //释放引用
貌似一个开关,一下子可以禁用,再来一下子又启用。
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
int controlKey = wordApp.BuildKeyCode(Microsoft.Office.Interop.Word.WdKey.wdKeyControl, ref missing, ref missing, ref missing);
int pKey = wordApp.BuildKeyCode(Microsoft.Office.Interop.Word.WdKey.wdKeyP, ref missing, ref missing, ref missing);
wordApp.get_FindKey(controlKey | pKey, ref missing).Disable();