gpt4 book ai didi

excel - VBA最终用户将Microsoft Office 2007升级到2010(从VBA 6到VBA7)的问题以及对文档,帮助和提示的需求。 (足够使用关键字)

转载 作者:行者123 更新时间:2023-12-01 20:17:35 30 4
gpt4 key购买 nike

作为典型的小型企业用户,当我的笔记本电脑坏了时,我不得不升级到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元素–“可能包含对象模型中已删除的项目” - 什么?

它不断变得更好,相同的Microsoft软件说:
“类型:弃用
项目:[xls] SmartTagRecognizer.FullName
网址:http://go.microsoft.com/?linkid=9719761
CODE:MyFullName = ThisWorkbook.FullName””
没有解释…(顺便说一下,停止Inspector并查看结果的唯一方法是CRT-ALT-DEL –Stop…)

我访问了检查专员提供的链接,但没有任何帮助。

我运行了Inspector几次,并且每次都给出不同的结果。现在,这很有趣。

我听到了你的问题,现在告诉我你的问题

我从哪说起呢。这是一个。
我有一个表单,用户可以在其中进行新的“约会”,保存时,VBA会在日历工作表(和Outlook)中创建一段代码和新的Shape,但这并不是重点。当用户返回并单击该形状时-按钮-按钮将运行一段已创建的代码。这是代码:

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双核处理器上运行以来,2010年就在我的新笔记本电脑上,其核心i7-740QM(6 GB)都在win7-64上运行。我上网冲浪,没有发现任何抱怨,说Office 2010上的VBA7比Office2007上的VBA6慢得多。我不知道这是否只是我的问题,但我的员工投票赞成2007年一心一意...

最佳答案

对于所有TextBox实例,将.Text更改为.Value

SmartTagRecognizer问题似乎是误报,因此无需采取任何措施



对于表单错误,您可以尝试以这种方式创建表单,以查看是否有帮助:

Private Sub myMacro2001_Click()

Dim meetingId As Integer
Dim fmHours As formHours

meetingId = 2001
Set fmHours = New formHours

fmhours.selectMeeting meetingId
fmHours.Show vbModeless

End Sub


另外,您可以将 Sub selectMeeting更改为 Public Sub selectMeeting



有关Office 2007和Office 2010之间VBA实际差异的文档似乎很少。 This page特别提到32位ActiveX控件(自定义控件和内置控件)在64位版本的Office 2010中将不起作用。因此,这很可能是问题的根源。

Microsoft here也有一个报价:


将提供64位版本的Office 2010产品吗?

是的,64位Office 2010产品
升级将可用。然而
我们强烈建议大多数用户
安装32位版本的Office 2010
在32位和64位上运行
系统,因为当前很多常见
Office加载项将无法运行
在64位版本中。 64位
安装Microsoft Office 2010
产品将向用户提供
谁通常使用非常大的文档
或数据集并需要Excel 2010
程序访问大于2GB的
记忆。可能存在技术问题
与64位版本并按顺序
安装64位版本的Office
2010产品用户必须具有64位
他们支持的操作系统
电脑


(我的重点)

如果可以,请尝试安装到32位版本的Office 2010

关于excel - VBA最终用户将Microsoft Office 2007升级到2010(从VBA 6到VBA7)的问题以及对文档,帮助和提示的需求。 (足够使用关键字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6211121/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com