作者dry123 (dry123)
看板Office
标题[问题] excel VBA自动执行储存格输入的档案
时间Sat May 4 12:50:43 2019
软体:Excel
版本:2010
我是VBA新手
假设我在路径X中,包含有1.txt 2.txt 3.txt 三个档案
在Excel中
G1栏位输入档案路径X
G2栏位是档名开始,输入1
H2栏位是档名结束,输入3
此VBA的目的是藉由输入资讯,
自动以Excel开启已知路径中的所有已知档案文字档
且档案命名都有一定顺序,例如1,2,3
我写了以下VBA
Sub A()
'
'巨集1 巨集
'
Dim i As Integer
X = Cells(2, "G").Value
Y = Cells(2, "H").Value
Z = Cells(1, "G").Value
For i = X To Y
Workbooks.Open Filename:=Range("G1").Value & "\" & i
Next i
End Sub
但Excel只开启了1.txt後
就显示
"执行阶段错误' 1004'
很抱歉,我们找不到C:\。此项目是否已移动、重新命名或删除"的对话框
新手不知道程式码哪里有错
还请专家解析
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.94.205
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1556945445.A.1EA.html
※ 编辑: dry123 (180.217.94.205), 05/04/2019 12:55:56
1F:→ soyoso: i後面应是还要加上副档名,如 ... & i & ".txt" 试试 05/04 13:23
2F:推 chunchanhung: 因你开启档案後,开启档案的相对应的储存格没有资料 05/04 13:23
3F:→ chunchanhung: 在range前加上workbook(档案名称) 05/04 13:23
4F:→ soyoso: 如是c大所提的话,因变数Z就已读取储存格G1的值 05/04 14:06
5F:→ soyoso: 就以 Z & "\" & i的方式 05/04 14:06
6F:→ soyoso: range前加上workbook也不正确,因为range不是workbooks的 05/04 14:14
7F:→ soyoso: 属性或方法 05/04 14:15
8F:→ soyoso: workbooks(...).worksheets(...).range才是 05/04 14:16
9F:→ soyoso: 以内文要加的话thisworkbook.activesheet.range("g1") 05/04 14:20
10F:→ soyoso: 或是将程序写在microsoft excel物件,同g1储存格工作表内 05/04 14:23
11F:→ soyoso: 那就都不用改了 05/04 14:23
12F:→ dry123: 感谢s大,使用起来OK,确实要在range("g1")前指定 05/04 16:38
13F:→ dry123: thisworkbook.activesheet,也就是指定本工作表才能顺利 05/04 16:39
14F:→ dry123: 进行回圈 05/04 16:39