Vb到VBA
选项显式以下代码在Visual Basic中工作,但我似乎无法让它在vba 2010中工作
Private Declare Function ShellExecute Lib"shell32.dll"别名"ShellExecuteA"(ByVal hwnd As Long, ByVal lpszOp As String, ByVal lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String, ByVal FsShowCmd As Long)As Long
公共函数OpenFile(ByVal FileName As String)As Long
OpenFile=ShellExecute[这是它挂在哪里](0,"Open", FileName, "", "C:\ALL_pdf_Cut_Sheets\Actuators\",1)
结束函数
Subfile_get()
OpenFile"C:\ALL_pdf_Cut_Sheets\Actuators\ms8105a1008.pdf"
结束子
任何想法赞赏...
标记...
**** Hidden Message ***** 不管它值多少钱,它在2008年运行良好 我似乎总是得到不正常的结果 我需要检查某些参考文献吗? 我检查过的唯一引用是 2008 年的默认值。 你在用什么操作系统?它与您之前使用的是同一个吗? 检查ShellExecute的返回值
如果成功,ShellExecute返回大于32的值,否则返回小于或等于32的错误值
错误代码:
http://msdn.microsoft.com/en-us/library/bb762153%28v=vs.85%29.aspx
Private Const SE_ ERR_长=2<br>私有常量当长=31时,SE_ ERR_ Windows xp32位。原始代码是用Visual Basic 6.0编写的,我试图让它在acad2010 vba(插件)中工作,它挂在openfile=ShellExecute(0,"Open", FileName, "", "C:\gtc_proj\2008_Blocks\Valves\Honeywell\Products Link\",1)。运行时错误显示49个坏DLL调用对流。
感谢任何帮助......在您的方便...马克 windows xp32位。原始代码是用Visual Basic 6.0编写的,我试图让它在acad2010 vba(插件)中工作,它挂在openfile=ShellExecute(0,“Open”,FileName, "", "C:\gtc_proj\2008_Blocks\Valves\Honeywell\Products Link\",1)。运行时错误显示49个坏DLL调用对流。
感谢任何帮助......在您的方便下...... Mark
[/引用]
这很奇怪。
它在我的电脑上运行良好:XP SP3 32位+AutoCAD 2010
这很奇怪。
它在我的电脑上运行良好:XP SP3 32位+AutoCAD 2010
[/引用]我知道!我在vba中的其他东西还有许多其他怪癖(像这样的东西可以在其他人的机器上工作,但不能在我的机器上工作!)非常令人沮丧:realmad:我真的应该完全转储vba,但我有在vb(a)中设置的大量块库,我知道老板不会为vb.net程序花钱。如果不是因为我,他们还会在ACAD R13上!
不过,谢谢您的意见。
Mark... VB.Net 是快速版本的免费下载 - 但至少在您最新的评论中有一个线索,
糟糕的调用约定听起来像是变量类型在API调用中被破坏了。在 .NET 中,行为已更改,很多时候必须使用 IntPtr 而不是 Long。
页:
[1]
2