本文转自http://wiki.dagene.net/Delphi相关/CreateObject(Excel.Application)出错解决方法
说明:没有正确设置权限。设置方法:在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择MicrosoftExcel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器
========================================================================
http://support.microsoft.com/kb/828550
检查自动化服务器
发生
CreateObject
或
New
相关错误的最常见原因是服务器应用程序有问题。通常,应用程序的配置或安装会引起该问题。要解决问题,请使用以下过程:
-
验证您要自动执行的 Office 应用程序安装在本地计算机上。确保可以运行该应用程序。要这样做,依次单击“开始”和“运行”,然后尝试运行该应用程序。如果无法手动运行该应用程序,则该应用程序将不能以自动化方式工作。
-
重新注册该应用程序,如下所示:
-
单击“开始”,然后单击“运行”。
-
在“运行”对话框中键入服务器路径,然后将
/RegServer
添加到行尾。
-
单击“确定”。
应用程序以静默方式运行。应用程序作为 COM 服务器重新注册。
如果是因为缺少某个注册表项而发生问题,则以上步骤通常能纠正问题。
-
在 CLSID 下检查要自动执行的应用程序的 LocalServer32 项。确保 LocalServer32 项指向该应用程序的正确位置。确保路径名称为短路径 (DOS 8.3) 格式。您不必通过使用短路径名称来注册服务器。但是,在一些系统上,包含嵌入空格的长路径名称可能导致问题。
要检查为服务器存储的路径项,请如下所示启动 Windows 注册表编辑器:
-
单击“开始”,然后单击“运行”。
-
键入
regedit
,然后单击“确定”。
-
移到 HKEY_CLASSES_ROOT\CLSID 项。
系统上注册的自动化服务器的 CLSID 位于此项下。
-
使用 CLSID 项的下列值查找代表要自动执行的 Office 应用程序的项。检查 CLSID 项的 LocalServer32 项中的路径。
Office 服务器
|
CLSID 项
|
Access.Application
|
{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
|
Excel.Application
|
{00024500-0000-0000-C000-000000000046}
|
FrontPage.Application
|
{04DF1015-7007-11D1-83BC-006097ABE675}
|
Outlook.Application
|
{0006F03A-0000-0000-C000-000000000046}
|
owerPoint.Application
|
{91493441-5A91-11CF-8700-00AA0060263B}
|
Word.Application
|
{000209FF-0000-0000-C000-000000000046}
|
-
确保路径匹配文件的实际位置。
注意
:短路径名称可能看起来正确,而实际上并不正确。例如,Office 和 Microsoft Internet Explorer(如果它们安装在其默认位置)的短路径均类似于 C:\PROGRA~1\MICROS~
X
\(其中
X
是数字)。此名称初看起来不像是短路径名称。
要确定路径是否正确,请执行下列步骤:
-
单击“开始”,然后单击“运行”。
-
从注册表中复制值,然后在“运行”对话框中粘贴值。
注意
:在运行应用程序之前删除
/automation
开关。
-
单击“确定”。
-
验证应用程序运行正常。
如果在单击“确定”后应用程序能够运行,则正确注册了服务器。如果在单击“确定”后应用程序不运行,则用正确的路径替换 LocalServer32 项的值。如果可以,请使用短路径名称。
-
测试 Normal.dot 模板或 Excel.xlb 资源文件是否可能损坏。如果 Word 中的 Normal.dot 模板或 Excel 中的 Excel.xlb 资源文件损坏,则在自动执行 Microsoft Word 或 Microsoft Excel 时可能出现问题。要测试这些文件,搜索本地硬盘驱动器以查找 Normal.dot 或 Excel.xlb 的所有实例。
注意
:对于运行 Microsoft Windows 2000 或 Microsoft Windows XP 的系统,可能会找到这些文件的多个副本。对于这些文件中的每一个,都有一个副本对应于系统上安装的每个用户配置文件。
临时重命名 Normal.dot 文件或 Excel.xlb 文件,然后重新运行自动化测试。如果 Word 和 Excel 无法找到这些文件,它们会创建这些文件。验证代码是否工作。如果创建新的 Normal.dot 文件时代码工作,则删除重命名的文件。这些文件已损坏。如果代码不工作,则必须将这些文件重命名为其原始文件名,以保存这些文件中保存的任何自定义设置。
-
如果系统运行 Windows 2000,则在管理员帐户下运行应用程序。Office 服务器需要注册表和磁盘驱动器的读/写访问权。如果当前安全设置拒绝读/写访问权,Office 服务器可能无法正确加载。
系统配置也可能会导致进程外 COM 服务器创建问题。要解决问题,请在发生错误的系统上使用以下过程:
-
确定问题是否出现在任何进程外服务器上。如果您有使用特定 COM 服务器的应用程序(例如 Word),请测试其他进程外服务器,以确保问题不是出在 COM 层本身上。如果无法在计算机上创建进程外 COM 服务器,则按照本文中的“重新安装 Microsoft Office”一节所述重新安装 OLE 系统文件,或者重新安装操作系统以解决问题。
-
检查管理自动化的 OLE 系统文件的版本号。这些文件通常作为集合安装。这些文件必须匹配内部版本号。不正确配置的安装实用程序可能会错误地分别安装这些文件。这会导致文件不匹配。为避免出现自动化问题,请检查文件以确保文件内部版本匹配。
自动化文件位于 Windows\System32 目录或 Winnt\System32 目录中。检查以下文件。
文件名
|
版本
|
修改日期
|
Asycfilt.dll
|
3.50.5014
|
2002 年 9 月 04 日
|
Oleaut32.dll
|
3.50.5016
|
2002 年 9 月 04 日
|
Olepro32.dll
|
5.0.5014
|
2002 年 9 月 04 日
|
Stdole2.tlb
|
3.0.5014
|
2002 年 9 月 04 日
|
要检查文件版本,请在 Windows 资源管理器中右键单击文件,然后单击“属性”。注意文件版本的最后四位数(内部版本号)和文件的上次修改日期。确保这些值对于所有自动化文件均相同。
注意
:较早的版本号和较早的日期是从安装了 Office 2003 的 Windows Server 2003 计算机中检索的。这些编号和日期只用作示例。您的值可能不同。
如果文件不匹配内部版本号或修改日期,请下载更新自动化文件的自解压实用程序。
有关如何访问运行时文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
235420
VBRun60sp4.exe 安装 Visual Basic 6.0 SP4 运行时文件
-
对于可能限制在 Office 应用程序中运行代码的第三方应用程序,使用系统配置实用程序 (Msconfig.exe) 来检查服务和系统的启动。 有关 Msconfig.exe 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
310560
如何在 Windows XP 中使用系统配置实用程序来排除故障
例如,Outlook 自动化应用程序可能因为您正在运行具有“脚本阻止程序”功能的防病毒程序而失败。
注意
:请仅在未连接到网络的测试系统上暂时禁用防病毒程序。
或者,在 Outlook 中执行下列步骤以禁用第三方加载项:
-
在“工具”菜单上,单击“选项”。
-
在“其他”选项卡上,单击“高级选项”。
-
在“高级选项”对话框中,单击“加载项管理器”。
-
单击任何第三方加载项的复选框以清除它。
-
重新启动 Outlook。
如果此方法解决问题,请与第三方防病毒供应商联系,了解有关更新防病毒程序的更多信息。
重新安装 Office
如果前面任何过程均未能解决问题,则删除 Office,然后重新安装 Office。Microsoft 建议您首先删除现有的版本,然后通过使用原始安装盘重新安装 Office。
本文转自http://wiki.dagene.net/Delphi相关/CreateObject(Excel.Application)出错解决方法说明:没有正确设置权限。设置方法:在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择MicrosoftExcel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器
没有权限: '
Create
Object
'
/class.asp, 第 86 行
其中,86行就为 set obj
Excel
=
Create
Object
("
Excel
.
Application
")
错误提示说得很明显是权限问题,可是该在哪里加权限呢?
Dim xl
Application
=
Create
Object
("
Excel
.
Application
")
Dim xlBooks = xl
Application
.Workbooks.Add
Dim xlSheet = xlBooks.Worksheets(1)
Dim strFilePath = comSaveFileDialog(Me, , ,...
Server.
Create
Object
(“
Excel
.
Application
”) ‘调用
excel
对象%>
一般没有经过设置的IIS服务器在执行这一句时都会出现错误,返回的错误信息如下:
错误类型:
Server 对象, ASP 0178 (0×80070005)
检查权限时,对 Server.
Create
Object
的调用失败。拒绝对此对象的访问。
英文版的错误信息如下:
定制模块行为
(1) Option Explicit '强制对模块内所有变量进行声明
Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示
Option Compare Text '字符串不区分大小写
Option Base 1 '指定数组的第一个下标为1
(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息
(3) On Error GoTo ErrorHandler '当错误发生时跳
转
到过程中的某个位置
错误430通常是由于所尝试创建的对象在计算机上尚未注册或不可用所引起的。在本例中,错误430是由于尝试创建
Excel
应用程序对象时出现的。
解决
此问题的一种
方法
是确保计算机上已安装并正确注册了Microsoft
Excel
应用程序。可以通过检查“控制面板”中的“程序和功能”来确定是否已安装Microsoft Office套件,并确保
Excel
应用程序的安装状态为“已安装”。
如果
Excel
应用程序已安装,但仍然无法创建
Excel
应用程序对象,则可能需要尝试修复或重新安装Microsoft Office套件。可以使用Microsoft Office安装程序进行修复或卸载并重新安装Office套件来
解决
此问题。在重新安装之前,建议备份所有相关文件和数据。
如果仍然无法
解决
问题,建议尝试使用其他
方法
来操作
Excel
文件,例如使用Python的openpyxl库或VBA程序来打开和处理
Excel
文件。
总之,错误430是由于创建
Excel
应用程序对象时遇到的问题所引起的。确保已正确安装和注册
Excel
应用程序,修复或重新安装Microsoft Office套件可能有助于
解决
此问题。如果仍然无法
解决
问题,可以考虑使用其他
方法
来操作
Excel
文件。
### 回答2:
"错误430"是指在使用VBA代码中的
Create
Object
函数时出现的一种常见错误。这个错误通常是由于以下原因之一导致的:
1.
Excel
应用程序未正确安装或已损坏。如果
Excel
应用程序未安装或者安装的版本与VBA代码不兼容,就会出现错误430。
解决
方法
是确保正确安装了
Excel
应用程序,并且版本与VBA代码兼容。
2. 缺少对
Excel
应用程序对象库的引用。在VBA中,如果没有正确引用
Excel
应用程序对象库,就无法使用
Create
Object
函数创建
Excel
应用程序对象,从而导致错误430。
解决
方法
是打开VBA编辑器,点击“工具”菜单下的“引用”,然后在弹出的对话框中勾选Microsoft
Excel
对象库,最后点击“确定”保存更改。
3.
Excel
应用程序对象库的引用错误或冲突。有时候,可能会存在多个版本的
Excel
应用程序对象库同时存在于计算机中,这样也会导致错误430。
解决
方法
是在VBA编辑器中删除所有
Excel
应用程序对象库的引用,然后重新添加正确的引用。
总之,错误430通常是由于
Excel
应用程序未正确安装、对象库引用问题或不兼容版本导致的。通过正确安装
Excel
应用程序、正确引用对象库以及
解决
引用冲突等
方法
,可以
解决
这个问题。
### 回答3:
错误代码430通常是指在引用COM组件时出现问题。对于使用“
create
object
(\
excel
.
application
\")”命令创建
Excel
应用程序类的问题,错误430可能是由以下几个原因引起的:
1.
Excel
应用程序未正确安装或已损坏:首先要确保已正确安装Microsoft
Excel
软件。如果您确定已正确安装,请尝试重新安装以修复任何可能的损坏。
2. 缺少
Excel
组件的注册信息:如果没有正确注册
Excel
组件,那么在创建应用程序类时可能会遇到错误430。您可以尝试通过运行“Regsvr32
excel
.exe”来重新注册
Excel
组件。
3. Office版本不兼容:如果您的计算机上安装了不兼容的Office版本,那么在尝试创建
Excel
应用程序类时可能会遇到错误430。您可以尝试升级到与您的计算机兼容的Office版本。
4. 缺少需要的依赖文件:创建
Excel
应用程序类时可能需要其他依赖文件,如果缺少这些文件,也可能会导致错误430。您可以尝试在重新安装Office时同时安装所需的依赖文件。
总的来说,错误430表示无法引用
Excel
应用程序类,可能是由于
Excel
未安装、组件未正确注册、Office版本不兼容或缺少依赖文件等原因导致。您可以尝试按照上述步骤来
解决
这个问题。