乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 271|回复: 14

Vb到VBA

[复制链接]

55

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
410
发表于 2011-2-18 13:43:22 | 显示全部楼层 |阅读模式
选项显式
以下代码在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"
结束子
任何想法赞赏...
标记...

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2011-2-18 13:48:28 | 显示全部楼层
不管它值多少钱,它在2008年运行良好
回复

使用道具 举报

55

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
410
发表于 2011-2-18 13:54:53 | 显示全部楼层
我似乎总是得到不正常的结果 我需要检查某些参考文献吗?
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2011-2-18 14:06:04 | 显示全部楼层
我检查过的唯一引用是 2008 年的默认值。
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2011-2-20 01:17:49 | 显示全部楼层
你在用什么操作系统?它与您之前使用的是同一个吗?
回复

使用道具 举报

jgr

3

主题

22

帖子

3

银币

初来乍到

Rank: 1

铜币
34
发表于 2011-2-20 13:47:14 | 显示全部楼层
检查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_
回复

使用道具 举报

55

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
410
发表于 2011-2-21 09:36:18 | 显示全部楼层
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调用对流。
感谢任何帮助......在您的方便...马克
回复

使用道具 举报

jgr

3

主题

22

帖子

3

银币

初来乍到

Rank: 1

铜币
34
发表于 2011-2-21 10:32:44 | 显示全部楼层
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
回复

使用道具 举报

55

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
410
发表于 2011-2-21 11:34:36 | 显示全部楼层

这很奇怪。
它在我的电脑上运行良好:XP SP3 32位+AutoCAD 2010
[/引用]我知道!我在vba中的其他东西还有许多其他怪癖(像这样的东西可以在其他人的机器上工作,但不能在我的机器上工作!)非常令人沮丧:realmad:我真的应该完全转储vba,但我有在vb(a)中设置的大量块库,我知道老板不会为vb.net程序花钱。如果不是因为我,他们还会在ACAD R13上!
不过,谢谢您的意见。
Mark...
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2011-2-21 11:57:01 | 显示全部楼层
VB.Net 是快速版本的免费下载 - 但至少在您最新的评论中有一个线索,
糟糕的调用约定听起来像是变量类型在API调用中被破坏了。在 .NET 中,行为已更改,很多时候必须使用 IntPtr 而不是 Long。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-1 04:11 , Processed in 1.203516 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表