答案 0 :(得分:0)
要快速排除excel本身的问题,请输入运行对话框(Winkey + R) - excel /a
。这启动了COM的excel,意味着没有自定义excel。你的错误现在发生吗。
获取错误详情。在设置中搜索查看问题详细信息。右键单击您的错误,然后选择查看技术详细信息。发布这些。
它看起来像这样。
Description
A problem caused this program to stop interacting with Windows.
Faulting Application Path: C:\Program Files\Internet Explorer\iexplore.exe
Problem signature
Problem Event Name: AppHangXProcB1
Application Name: iexplore.exe
Application Version: 11.0.10240.16412
Application Timestamp: 55b99d3f
Hang Signature: d229
Hang Type: 134742048
Waiting on Application Name: iexplore.exe
Waiting on Application Version: 11.0.10240.16412
OS Version: 10.0.10240.2.0.0.768.101
Locale ID: 3081
Additional Hang Signature 1: d2293b30a82e02c1d065885655e2fc11
Additional Hang Signature 2: e68d
Additional Hang Signature 3: e68d7530cc359e253127575d50ba30e2
Additional Hang Signature 4: d229
Additional Hang Signature 5: d2293b30a82e02c1d065885655e2fc11
Additional Hang Signature 6: e68d
Additional Hang Signature 7: e68d7530cc359e253127575d50ba30e2
解码错误
-2147220978样式号是32位有符号整数,转换为hex = 用计算器。
Windows错误(微小数字)和COM HResults(通常,但是= 在WinError.h中定义的异常,以0x80040154中的8开头) 除了8007nnnn,你在那里查找它=的Window错误号 包含。
作为一般规则,Windows错误小于65,535(0xFFFF)。错误= 从0x80000001开始是组件对象模型(COM)HResults。错误= 起始0xC0000001是NTStatus结果。从0xD0000001开始的错误是= 还有HResult中返回的NTStatus值。
NTStatus错误(通常但不总是以C开头,因为= 0xC0000022)在NTStatus.h。= 20
中定义.h文件是最好的来源,因为它包含符号名称= 错误可以提供错误来源等线索。 = FormatMessage不仅为符号名称提供描述。
您可以通过下载Platform SDK获取这些文件(它是千兆字节) http://www.microsoft.com/en-us/download/details.aspx%3Fid%3D8279&sa=3DU&e= I =&3Dw2IrULDDLsHFmAWbmIHoBg放大器; VED = 3D0CBwQFjAA&安培; USG = 3DAFQjCNHZn9-4f2NnuN9o3UWU = sOF3wL7HBQ
如果您只想要我的skydrive上的两个文件,那么我可以= 我去的任何地方都可以参考 https://skydrive.live.com/redir?resid=3DE2F0CE17A268A4FA!121
注意互联网错误(12,000 - 12,999)是Windows错误但是= 在wininet.h中也可以在上面找到。= 20
其他.h文件中定义了错误。但99%是在三个= 上方。
HResults和NTStatus代码的结构
HResults中最重要的位,以及两个最重要的位= 在NTStatus中设置错误。因此,Hresults在错误和=时开始8 NTStatus在出错时启动C.接下来的14或15位是保留的,有些是= 指定设施 - 错误所在的区域。这是第三个和= 读取十六进制时的第四个数EG 0xnn07nnnn - HResult工具代码= 7是正常的Windows'错误(从COM程序返回 - 因此它= 作为HResult返回)。设施代码在Winerror.h中定义为= 用于NTStatus代码的HResults和NTStatus.h。他们是不同的。
解码0x8003nnnn错误
设施代码3的HResults表示HResult包含OLE Structured = 存储错误(0x0到0xff)。这些与Dos错误代码相同。 = 这些似乎不在Windows的头文件中,代码列表是= 在这篇文章的最后。
解码0x8004nnnn错误
设施代码4的HResults表示HResult包含OLE错误(0x0 = 到0x1ff),其余的范围(0x200以上)是component = 特定错误,因此来自一个组件的20e将具有不同的含义= 从另一个组件到20e。
这就是为什么错误的来源对于= =以上的错误非常重要 0x80040200。
解码0x8007nnnn错误
设施代码7的HResults意味着HResult包含Windows'= 错误代码。你必须查找Windows的错误代码而不是HResult。
解码0x80070002。 0x表示它是十六进制数,8 = 表示错误,前7表示窗口错误,其余= number,2,是实际的Windows错误。
要查找错误,我们需要十进制格式。开始计算器= (开始 - 所有程序 - 附件 - 计算器),然后选择查看菜单 - = 科学,然后查看菜单 - 十六进制。输入2.然后查看菜单 - 十进制。它= 会说2。
启动命令提示符(开始 - 所有程序 - 附件 - 命令= 提示)并输入
net helpmsg 2
它会说
系统找不到指定的文件。
或在winerror.h中查找。
//
// MessageId: ERROR_FILE_NOT_FOUND
//
// MessageText:
//
// The system cannot find the file specified.
//
#define ERROR_FILE_NOT_FOUND 2L
解码0x8019nnnn错误
设施0x19的HResults是HTTP错误。代码低于16,384(0x4000)= 与HTTP错误相同,例如HTTP状态404:请求的URL确实= 服务器上不存在0x80190194(0x194 = 3D 404)。代码16,384和= 更高的是BITS特定。
解码0xDnnnnnnn错误
从0xD开始的HResults是一个带有NTStatus值的HResult。只是= 将引导D引入C并将其视为NTStatus(Hresult = 3D NTStatus = 或者10000000)。