【问题标题】:Excel \ OpenOffice Calc Dir function does not iterate thru filesExcel \ OpenOffice Calc Dir 函数不会遍历文件
【发布时间】:2014-01-30 07:38:18
【问题描述】:

我的 VBA 代码只返回目录的第一个文件,而它应该返回至少 3 个文件,有人知道这里发生了什么吗?

FolderName = Environ("UserProfile") + "\"
FilePath = FolderName & "Invoice." & Format(Date,"yyyy.mm.dd") & "-" & "*" & ".ods"

count = 1
FileName = Dir(FilePath)

While (FileName <> "" And count < 5)
    MsgBox "FileName = " + FileName
    count = count + 1
Wend

【问题讨论】:

  • 我不能再接受 50 秒的答案... StackoverFlow 的新秀政策。 PS:你知道如何将一个数字格式化为 3 位数字吗?例如 3 到 003

标签: excel vba openoffice-calc dir


【解决方案1】:

试试这段代码(注意我在While循环的末尾添加了FileName = Dir):

FolderName = Environ("UserProfile") + "\"
FilePath = FolderName & "Invoice." & Format(Date,"yyyy.mm.dd") & "-" & "*" & ".ods"

count = 1
FileName = Dir(FilePath)

While (FileName <> "" And count < 5)
    MsgBox "FileName = " + FileName
    count = count + 1
    FileName = Dir
Wend

【讨论】:

  • 另一个小问题,你知道如何将一个数字格式化为 3 位数字吗?例如 3 到 003
  • 是的,我知道。只需将自定义格式“000”应用于单元格,或使用 excel 公式=Text("A1","000")
  • 与 VBA 相同:MsgBox Format(3, "000")
  • 如果你有时间回答最后一个问题,如何将 VBA 字符串添加到 excel 表格中
  • add a VBA-string to the excel-sheet 是什么意思?这个:Range("A1")="something"?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多