|
发表于 2016-3-26 18:23
|
显示全部楼层
本楼为最佳答案
本帖最后由 lichuanboy44 于 2016-3-26 18:28 编辑
已成功调试,代码如下:你将程序中的备注文件夹恢复,同时将我的当前工作簿文件夹更换掉,就可实现你指定的文件夹移动或复制了。便于调试,用thisworkbook.path较方便,无论你怎么复制或移动该程序都能正常运行。
原来你的nc1文件,也能用Workbooks.Open打开,这样也不难了,只是费时间调试。- Sub 复制修改()
- If [C3] = "已复制" Then
- tf = MsgBox("文件已复制,是否删除后再进行" & vbCrLf & vbCrLf & _
- "点""确定""则删除", vbQuestion + vbOKCancel)
- If tf = vbYes Then
- Call 删除测试文件
- Else
- Exit Sub
- End If
- End If
- 'Path = [A3] '原夹
- 'topath = [B3] '目标夹
- Path = ThisWorkbook.Path & "\1" '原夹
- topath = ThisWorkbook.Path & "\2" '目标夹
- f = Dir(Path & "*.nc*")
- If f <> "" Then
- Do While Len(f)
- FileCopy Path & f, topath & f
- f = Dir()
- Loop
- Call 复制或移动修改
- [C3] = "已复制"
- End If
- End Sub
复制代码- Sub 复制或移动修改()
- Application.ScreenUpdating = False
- Set sh = Sheets("Excel修改Tekla板NC文件中的数量")
- n = sh.Range("A65536").End(3).Row
- arr = sh.Range("A5:B" & n)
- 'topath = [B3] '目标夹
- topath = ThisWorkbook.Path & "\2" '目标夹
- For i = 1 To n - 4
- s = topath & arr(i, 1) & ".nc1"
- f = Dir(s)
- If f <> "" Then
- Set wt = Workbooks.Open(s)
- With wt
- .Sheets(1).Cells(8, 1) = "' " & arr(i, 2)
- .Close True
- End With
- p = p + 1
- End If
- Next
- MsgBox "移动修改成功" & p & "个NC文件!"
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|