回答
可以使用FindWindow函数来获得窗口的句柄在当前激活的词应用:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
MS Word的类名是“OpusApp”。如果你只有一个字应用开放那么下面将手柄返回到窗口:
Public Function Test1()
Dim lhWnd As Long
lhWnd = FindWindow("OpusApp", vbNullString)
End Function
注意,当你有多个活动的Word应用程序,你可以添加窗口标题的名称。例如,如果它保存为“Stanigator.doc”,那么标题将被解读为“Stanigator - Microsoft Word”。所以:
Public Function Test2()
Dim lhWnd As Long
lhWnd = FindWindow(vbNullString, "Stanigator - Microsoft Word")
End Function
可能派上用场的其他API是:
Private Declare Function GetActiveWindow Lib "user32"() As Long
编辑:
我要推荐VSTO做法,但基于此链接,没有按”上t似乎是明智的: Connect Issue: VSTO API support for MS Word Main Window Handle
所以没有类似的方式来为Word VBA设置ws = ActiveSheet? – stanigator 2012-04-15 05:20:57
不幸的是你必须使用Win32 API。我希望它像ActiveSheet.hWnd一样简单。另一个诀窍是使用Visual Studio自带的Spy ++来验证结果。如果你没有它,你可以尝试http://www.catch22.net/software/winspy-17 – 2012-04-15 05:32:33
然后放弃我的项目。然后,我可以让我的朋友用C#编写应用程序。毛。谢谢你的建议。 – stanigator 2012-04-15 05:53:01
正如Tim Williams指出的,它是Set myDoc = ActiveDocument
。
- 1. 如何将变量传递给句柄中的一个部分?
- 2. 将窗口句柄传递给变量
- 3. 将变量保存到CharField
- 4. 如何将select语句的结果存储到变量中?
- 5. 如何将文件名保存到cmd中的变量中?
- 6. 如何将函数参数保存到PHP中的变量中
- 7. 如何将打印变量保存到SQL Server中的另一个变量中?
- 8. 将Rails输出保存到变量中
- 9. 将微调值保存到变量中
- 10. 将Hubot输入保存到变量中
- 11. PHP:将变量保存到SESSION中?
- 12. 如何将Properties.Settings.Default的副本保存到变量中?
- 13. 如何将JDBC查询的结果保存到变量中?
- 14. 如何将PID保存到bash -c中的变量?
- 15. 如何将curl_exec结果保存到Laravel的变量中
- 16. 将树保存到HtmlAgilityPack的变量
- 17. 将SQL函数的结果保存到select语句中的变量中?
- 18. 如何在Perl中将输出保存到变量
- 19. 如何将此代码保存到变量中?
- 20. 如何将char保存到多个变量中? Ç
- 21. 如何将变量保存到工作区或文件中?
- 22. 如何将坐标和图像保存到整数变量中?
- 23. 如何将按键保存到变量中使用pygame.key.get_pressed()?
- 24. PHP:好的将数据库句柄存储在全局变量中?
- 25. 如何将printf存储到变量中?
- 26. 如何将xmlhttprequest存储到变量中
- 27. 将字符串$变量保存到另一个变量中
- 28. 如何在句柄模板属性中使用变量
- 29. 批量如何重命名保存到变量中的文件?
- 30. 如何将选定的行从UITableview保存到NSString变量?
'Set myDoc = ActiveDocument' – 2012-04-16 00:10:16