作为典型的小型企业用户,当我的笔记本电脑坏了时,我不得不升级到 Office 2010(2007 不再上市)。现在我有一堆又快又脏的 VBA 来配合我的旧工作表。他们都不是编程杰作,但那些工作并完成了 excel 和 Office 2007 的工作。
现在我尝试在 Office 2010 上使用我的旧东西,但一切都只是一点点无法使用。这两天我在网上搜索,试图为最终用户找到任何文档,但没有运气。我发现很多针对专业程序员的博客,他们希望制作防弹代码来服务从 Office 0 到 Office2010、32 位到 64 位(这里没有 8 位?)的任何东西,但没有一篇文章谈到主要业务, 拥有大量自制编码的最终用户可以生存一天。
如何使我的旧 2007 VBA 与 2010 一起使用?
不,我不需要它与任何东西向后兼容,它足以与我的新计算机和新软件一起使用(如果有人想知道的话,在我的情况下它是 64 位)。我只需要知道为什么我的代码不再工作,以及如何处理它。我真正想要的是一些指向真实信息的指针,如果有的话!当然,我可以将我的每一段代码复制粘贴到程序员论坛上,被嘲笑,几周后我可能会让其中的一些工作,但我真正需要的是写给基本 VBA 用户的真实信息。我需要学习这个。
那么你的问题是什么?
发生了什么变化?
日历 active-X 组件丢失。我找到了解决方案:http ://answers.microsoft.com/en-us/office/forum/officeversion_other-customize/missing-calendar-control/03ad5d05-ca3f-4081-9989-e757223ebdde现在我只需要重做每个日历我所有的表格……谢谢。
Textbox.Text 不起作用,我找到并运行 Microsoft Excel 代码兼容性检查器 (CII),它显示我有几千个 Textbox.Text 元素“已弃用”-“可能包含对象模型中已删除的项目” - 什么?
它越来越好,同样的微软软件声明:“类型:弃用项目:[xls]SmartTagRecognizer.FullName URL: http: //go.microsoft.com/ ?linkid=9719761 代码:MyFullName = ThisWorkbook.FullName””没有解释...... (顺便说一句。停止 Inspector 并查看结果的唯一方法是 CRT-ALT-DEL –Stop…)
我访问了检查员提供的链接,那里没有帮助。
我运行了 Inspector 几次,每次都给出不同的结果。现在这很有趣。
我听到你的问题,现在告诉我你的问题
我从哪说起呢。这是一个。我有一个表单,用户可以在其中进行新的“约会”,保存时,VBA 在日历工作表中创建一段代码和新形状(以及 Outlook,但这不是重点)。当用户返回并单击该形状 - 按钮 - 按钮运行一段已创建的代码。这是代码:
Private Sub myMacro2001_Click()
Dim meetingId As Integer
meetingId = 2001
Load formHours
Call formHours.selectMeeting(meetingId)
formHours.Show vbModeless
End Sub
这是应该的,并且早在 2007 年就已经打开了 formHours 表格,其中包含为 2001 年会议存储的信息(meetingId)
formHours 中的代码开头为:
Sub selectMeeting (ByRef IdNo As Integer) ’Bring in the meeting ID
Meeting = IdNo
….
不是很优雅,但它确实有效。不再这样做了。
如果你能帮我解决这个问题,我很感激,但如果你告诉我我应该在哪里找到答案会更好。发生了什么变化?以前工作过,现在不行了。该怎么办?
(PS。我知道我的代码很糟糕,但它确实有效......我只是想找出发生了什么变化,以及我需要如何改变。
Ps.Ps 是的,我知道我应该问微软,但你知道那是怎么回事……)
跟进
在 Barrowc 和其他人的一些善意建议之后,我设法解决了一些问题。将 Text.Text 更改为 Text.Value 产生了一堆新问题,一些 Text-Values 用于公式,现在我需要更改它们 Val(FooTextBox.Value)
真正令人惊讶的是,2010 年似乎非常缓慢!我在办公室并肩跑了 2007 年和 2010 年,2007 年赢得了胜利。我的一名员工已经使用 2007 年为客户开具发票,当时 2010 年仍在开放!有趣的是,因为 2007 年在 AMD Athlon X2 Dual-Core 上运行,内存有限,而 2010 年在我的新笔记本电脑上运行 Core i7-740QM,6 GB,都在 win7-64 上。我上网并没有发现任何抱怨 Office 2010 上的 VBA7 比 Office2007 上的 VBA6 慢得多。我不知道这是否只是我的问题,但我的员工投票支持 2007 年一心一意...