Excel VBA-找不到运行时错误1004文件
在我的程序中,我想通过VBA打开现有的Excel文件,以便对其进行修改和操作数据Excel VBA-找不到运行时错误1004文件,excel,vba,Excel,Vba,在我的程序中,我想通过VBA打开现有的Excel文件,以便对其进行修改和操作数据 'Declaration des variables d'objects Excel Dim wb As Workbook Dim ws As Worksheet Dim Fname As String 'Declaration des variables de calcul Dim a As Double Dim n
'Declaration des variables d'objects Excel
Dim wb As Workbook
Dim ws As Worksheet
Dim Fname As String
'Declaration des variables de calcul
Dim a As Double
Dim numimpact, nummatrix, debut, fin, e, n As Long
Dim i As Boolean
'Initialisation des variables
i = True
a = 0
e = 1
numimpact = 1
nummatrix = 1
debut = 2
n = 1000
fin = debut + n
'Boucle de lecture de tous les fichiers Excel
Do While i = True
'Test et incrementation des fichiers Excel
If numimpact < 7 Then
'Ouverture fichiers
Fname = "D:\mmLaurencon\Desktop\NL\Test\CFRP1\"
Set wb = Workbooks.Open(Fname & "CFRP1-" & nummatrix & "-" & numimpact & ".xlsm")
'Set wb = Workbooks.Open("D:\mmLaurencon\Desktop\NL\Test\CFRP 1\CFRP1-1-" & numimpact)
Set ws = wb.Worksheets(1)
'Parcourir colonne B
Do While Cells(e, 2).Value <> ""
For Each e In Columns(2)
Cells(fin, 3).Value = Application.Sum(Cells(debut, 2).Value, Cells(fin, 2).Value) / n
debut = debut + 1
fin = fin + 1
e = e + 1
'save the file
ActiveWorkbook.SaveAs Filename:= _
"D:\mmLaurencon\Desktop\NL\Test\CFRP " & nummatrix & "\CFRP1-1-" & numimpact & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'close the file
wb.Close
Next
numimpact = numimpact + 1
Loop
ElseIf numimpact = 7 Then
nummatrix = nummatrix + 1
numimpact = 1
ElseIf nummatrix = 10 Then
i = False
End If
Loop
“变量声明”对象Excel
将wb设置为工作簿
将ws设置为工作表
作为字符串的Dim Fname
'计算变量声明'
将a调暗为双色
暗淡的NumiImpact,nummatrix,首次亮相,fin,e,n尽可能长
Dim i作为布尔值
'初始化des变量
i=正确
a=0
e=1
numimpact=1
nummatrix=1
首次登场=2
n=1000
fin=首次登场+n
“我们的菲舍尔人的演讲很精彩
当我是真的时就去做
'测试et增量des fichiers Excel
如果numimpact<7,则
“乌维图尔·菲舍尔
Fname=“D:\mmLaurencon\Desktop\NL\Test\CFRP1”
设置wb=Workbooks.Open(Fname&“CFRP1-”&nummatrix&“-”&numimpact&“xlsm”)
'Set wb=Workbooks.Open(“D:\mmLaurencon\Desktop\NL\Test\CFRP 1\CFRP1-1-”&numimpact)
设置ws=wb.工作表(1)
科隆公园酒店
执行While单元格(e,2)。值“”
对于第(2)列中的每个e
单元格(fin,3).Value=Application.Sum(单元格(fin,2).Value,单元格(fin,2).Value)/n
首次登场=首次登场+1
鳍=鳍+1
e=e+1
'保存文件
ActiveWorkbook.SaveAs文件名:=_
“D:\mmLaurencon\Desktop\NL\Test\CFRP”&nummatrix&“\CFRP1-1-”&numimpact&“.xlsm”_
FileFormat:=xlOpenXMLWorkbookMacroEnabled,CreateBackup:=False
'关闭文件
wb.关闭
下一个
numimpact=numimpact+1
环
ElseIf numimpact=7,则
nummatrix=nummatrix+1
numimpact=1
ElseIf nummatrix=10,则
i=假
如果结束
环
我编写了这段代码,但在第Set wb=Workbooks.Open(Fname&“CFRP1-”&nummatrix&“-”&numimpact&“.xlsm”)
行中出现了运行时错误1004文件。我不明白为什么,因为我指出了正确的路径和文件。我尝试了另一种方法Set wb=Workbooks.Open(“D:\mmLaurencon\Desktop\NL\Test\CFRP 1\CFRP1-1-”&numimpact)
但是出现了一个新的运行时错误1004文档可能是只读的或加密的
你知道哪里出了问题吗?提前谢谢你 此行
Set wb=Workbooks.Open(Fname&“CFRP1-”&nummatrix&“-”&numimpact&“.xlsm”)
正在尝试打开文件D:\mmlaurecon\Desktop\NL\Test\CFRP1\CFRP1-1-1.xlsm
,这与您第二次尝试Set wb=Workbooks.Open(“D:\laurencon\Desktop\NL\Test\CFRP 1-1-”&numimpact)完全不同
第二次尝试缺少文件扩展名,并且文件路径不同。与D:\mmLaurencon\Desktop\NL\Test\CFRP 1相比,文件路径在这一点上有所不同
我想两次尝试都应该打开同一个文件?您需要更正文件路径-我不确定哪一个是正确的。您是否尝试将Fname设置为:Fname=CreateObject(“WScript.Shell”)。特殊文件夹(“桌面”)和“\NL\Test\CFRP1\”
也:Dim numimpact、nummatrix、首秀、fin、e、n,只要长度
-只有n
声明为长,其他的都是变种。您需要使用Dim numimpact As Long,nummatrix As Long,…
谢谢大家纠正我的大错误。。。但我仍然有一个错误,1004文件在Set wb=Workbooks.Open(“D:\mmLaurencon\Desktop\NL\Test\CFRP 1\CFRP1-”&nummatrix&“-”&numimpact&“.XLS”)行中找不到。
。对于另一个备选方案,它正在工作,但我在第Set ws=wb.Worksheets(1)
行有另一个错误。我不明白为什么路径是正确的,ws是一个excel对象,所以使用Set
应该是可行的,你不这么认为吗?看看@Kwakkers的答案。Fname
是否正确-CRFP1
或CRFP1
?哪一个是另一个选择?我没注意到。第二次尝试是尝试保存工作簿而不是打开它,但仍然是CFRP1
或CFRP 1
。我在他尝试注释掉的部分时阅读了它'Set wb=Workbooks.open(“D:\mmLaurencon\Desktop\NL\Test\CFRP 1\CFRP1-1-”&numimpact)
。我没有深入到保存部分。最新的1004错误是否与文件扩展名有关?在以前的尝试中,您试图打开XLSM文件,但现在是XLS文件<代码>设置wb=Workbooks.Open(“D:\mmLaurencon\Desktop\NL\Test\CFRP 1\CFRP1-”&nummatrix&“-”&numimpact&“.XLS”)代码>