Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-找不到运行时错误1004文件_Excel_Vba - Fatal编程技术网

Excel VBA-找不到运行时错误1004文件

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

在我的程序中,我想通过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 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”)