永发信息网

求大神解读一下下列VBA代码,感觉是生成一个dat数据文件,但是不懂怎么生成的,保存在哪个目录里

答案:3  悬赏:0  手机版
解决时间 2021-02-27 20:41
  • 提问者网友:川水往事
  • 2021-02-27 17:49
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
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 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都没有指定文件夹,那么就是工作时的当前文件夹:当前最后一次打开或者保存文件的文件夹。
全部回答
  • 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯