我正在编写一些VBA代码,这些代码应该遍历特定文件夹中的所有Excel文件(文件夹名称总是格式化为月份年份,例如2020年5月)。在我的代码中,我还需要使用单独的“月份”和“年份”字符串,例如“五月”和“2020年”,以及日期格式mm/?? /yy例如5/?? /20(日期不重要,所以我只是把?
到目前为止,我使用Application.FileDialog(msoFileDialogFolderPicker)
让用户选择文件夹,我使用InputBox("")
三次来获取字符串和日期。
有没有办法压缩它,让用户只需要做一到两件事,而不是四件事?
根据这个日期格式的答案组合框,似乎组合框可以工作(也许可以将月份和年份输入作为字符串,并在此基础上获取文件夹和日期?),但是有没有更好的方法?
任何帮助都将不胜感激!
这是可能的工作方式。
下面的代码实现并支持该工作流程。
Sub GetFolderName()
Dim Inp As String
Dim FolderName As String
Dim FilePath As String
' make sure you ask for a date format that your computer can recognise
' it depends upon your Regional Settings (in Windows Control Panel)
Do
Inp = InputBox("Enter a date", "Date format dd/mm/yy", _
Format(Date, "dd/mm/yy"))
If Inp = "" Then Exit Sub ' blank or Cancel
If Not IsDate(Inp) Then
MsgBox "Sorry, I can't recognise your entry" & vbCr & _
"as a date. Please observe the date" & vbCr & _
"format requirement and try again."
End If
Loop While Not IsDate(Inp)
FilePath = Environ("userprofile") & "\Desktop\"
FolderName = Format(CDate(Inp), "mmmm yyyy")
MsgBox "Folder name is """ & FolderName & """" & vbCr & _
"File path = " & FilePath
' complete path is
Debug.Print FilePath & FolderName
End Sub
请注意,以下选项未被使用,但仍然可用。
Day(Cdate(Inp)) ' returns the day of the entered date
Month(Cdate(Inp)) ' returns the number of the month of the entered date
Year(Cdate(Inp)) ' returns the year of the entered date (45-digit)
我现在正在学习java,开始学习方法、类和对象。我正在尝试编写一个简单的程序,为公司的2个单独的员工设置值,然后允许用户输入来改变特定对象的某些变量。需要通过用户输入更新的变量是对象Employee2的MonthlySalary和FirstName。我真的不确定如何构造用户输入部分,我正不知所措,试图找到一个解决方案。 使用类文件Employee.java
我有一个数组的文本值如下所示 和多个表单输入 如何将数组中的第一个值添加到第一个输入中,将第二个值添加到第二个输入中,将数组中的第三个值添加到第三个输入中? 数组中的值数等于输入数。但两者的数量是可变的。 谢谢.
问题内容: 我正在使用hadoop mapreduce,我想计算两个文件。我的第一个Map / Reduce迭代是给我一个文件,其文件具有ID号,如下所示: 我的目标是使用文件中的该ID与另一个文件相关联,并使用三重奏输出另一个:ID,Number,Name,如下所示: 但是我不确定使用Map Reduce是否是最好的方法。例如,使用文件读取器读取第二个输入文件并通过ID获得名称会更好吗?还是可以
我让一个用户输入一个整数字符串,然后将它们添加到ArrayList,但我需要验证每个条目是否为正整数。我尝试了do/while循环、嵌套while环,而使用嵌套if和每个循环都会遇到自己的一组问题。 作为我当前设置的示例:用户输入例如:1 2 3 4 pageVar是我的扫描仪,pageRef是我的ArrayList 运行这个my while在等待更多的输入时被卡住了,我不知道如何打破它。
问题内容: 如何在Java用户输入中打印出单个单词?示例:用户输入:“我们爱妈妈,她是最好的”。该程序假设打印“妈妈”,因为第一个字符和最后一个字符相同。我的代码最后没有显示任何内容。这是我的代码: 问题答案: 无需解析字符串的每个字母,您可以将输入拆分成单词数组并分别检查每个单词。 您可以保持循环,但只需要检查是否与处的循环相同 这是一个工作示例。请注意,我已经删除了扫描仪部件,以使其在我正在使
我正在为java类的简介做作业,在解释用户需要提供多个输入时遇到了一些困难。问题如下: “要求用户输入一个数字。您应该使用一个输入对话框来进行此输入。请确保将对话框中的字符串转换为实数。程序需要跟踪用户输入的最小数字和输入的最大数字。询问用户是否要输入另一个数字。如果是,请重复此过程。如果不是,请输出用户输入。 当用户想要退出时,该程序在程序的末尾输出最大和最小的数字。 此外,您的程序应该考虑用户