If Dir("namelist.dat") = "" Then
Workbooks.Add
ActiveWorkbook.SaveAs "namelist.dat", password:="process3448"
ActiveWorkbook.Close
Else
Workbooks.Open "namelist.dat", password:="process3448"
a = ActiveSheet.Range("A65536").End(xlUp).Row
For i = 1 To a
ComboBox1.AddItem ActiveSheet.Range("A" & i)
Next i
ActiveWorkbook.Close
End If
求大神解读一下下列VBA代码,感觉是生成一个dat数据文件,但是不懂怎么生成的,保存在哪个目录里
答案:3 悬赏:0 手机版
解决时间 2021-02-27 20:41
- 提问者网友:川水往事
- 2021-02-27 17:49
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-02-27 18:23
代码含义为:
If Dir("namelist.dat") = "" Then'如果不存在namelist.dat文件则进行如下处理:
Workbooks.Add'新建空白工作薄
ActiveWorkbook.SaveAs "namelist.dat", password:="process3448" '空白工作薄另存为namelist.dat,并设定密码
ActiveWorkbook.Close'关闭新建的工作薄
Else'否则(就是存在namelist.dat)则进行下面的处理
Workbooks.Open "namelist.dat", password:="process3448"'打开namelist.dat文件
a = ActiveSheet.Range("A65536").End(xlUp).Row'获得A列最后一行有内容的行号
For i = 1 To a'把A列的内容添加到组合框ComboBox1中
ComboBox1.AddItem ActiveSheet.Range("A" & i)
Next i
ActiveWorkbook.Close'关闭此工作薄
End If所有的代码中的namelist.dat都没有指定文件夹,那么就是工作时的当前文件夹:当前最后一次打开或者保存文件的文件夹。
If Dir("namelist.dat") = "" Then'如果不存在namelist.dat文件则进行如下处理:
Workbooks.Add'新建空白工作薄
ActiveWorkbook.SaveAs "namelist.dat", password:="process3448" '空白工作薄另存为namelist.dat,并设定密码
ActiveWorkbook.Close'关闭新建的工作薄
Else'否则(就是存在namelist.dat)则进行下面的处理
Workbooks.Open "namelist.dat", password:="process3448"'打开namelist.dat文件
a = ActiveSheet.Range("A65536").End(xlUp).Row'获得A列最后一行有内容的行号
For i = 1 To a'把A列的内容添加到组合框ComboBox1中
ComboBox1.AddItem ActiveSheet.Range("A" & i)
Next i
ActiveWorkbook.Close'关闭此工作薄
End If所有的代码中的namelist.dat都没有指定文件夹,那么就是工作时的当前文件夹:当前最后一次打开或者保存文件的文件夹。
全部回答
- 1楼网友:不甚了了
- 2021-02-27 19:05
private sub worksheet_change(byval target as range)
if target.row = 2 and target.address <> "$b$2" and target.column < 23 then range("b2") = date
end sub
- 2楼网友:北城痞子
- 2021-02-27 18:39
If Dir("namelist.dat") = "" Then '判断DAT文件是否存在,""表示不存在
Workbooks.Add '新建工作簿
ActiveWorkbook.SaveAs "namelist.dat", password:="process3448" '另存为指定文件名,设密码
ActiveWorkbook.Close '关闭文件
Else
Workbooks.Open "namelist.dat", password:="process3448" '存在指定的文件时,打开
a = ActiveSheet.Range("A65536").End(xlUp).Row '获取由数据的行数
For i = 1 To a
ComboBox1.AddItem ActiveSheet.Range("A" & i) '将数据添加到 combobox控件
Next i
ActiveWorkbook.Close
End If
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯