我无法找到一种以编程方式专门按下右 Shift 键的方法。我需要一个向下和向上的键(按下/释放)。
我所拥有的是:
SendKeys.Send("{RSHIFT}")
Run Code Online (Sandbox Code Playgroud)
我知道这种转变就像:
SendKeys.Send("+")
Run Code Online (Sandbox Code Playgroud)
我想这只是 Shift 键,但我特别需要一个右 Shift 键。
有人可以帮我解决这个代码吗?
我有一些代码可以创建文件夹中的文件列表并获取它们的标签:
Option explicit
'Declare variables
Dim ws As Worksheet
Dim i As Long
Dim FolderPath As String
Dim objShell, objFolder, objFolderItem As Object
Dim FSO, oFolder, oFile As Object
Application.ScreenUpdating = False
Set objShell = CreateObject("Shell.Application")
Set ws = ActiveWorkbook.Worksheets("Sheet1") 'Set sheet name
Worksheets("Sheet1").UsedRange.ClearContents
ws.Range("A1:D1").Value = Array("FileName", "Tags", "Subgroup", "Group")
Set FSO = CreateObject("scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(FolderLocation_TextBox.Value)
i = 2 'First row to print result
For Each oFile In oFolder.Files
'If any attribute is not retrievable ignore and continue …Run Code Online (Sandbox Code Playgroud) 我有一个调用另一个子程序的子程序,通常我需要退出被调用的子程序并停止执行调用它的子程序的其余部分。
所以我有Add_Format_Button_Click调用另一个子程序的子程序:
call CheckEmptyComboboxValues
Run Code Online (Sandbox Code Playgroud)
大多数情况下CheckEmptyComboboxValues最终会
Exit sub
Run Code Online (Sandbox Code Playgroud)
但是Add_Format_Button_Click将继续执行它的其余部分。这是我需要帮助的地方,因为CheckEmptyComboboxValues退出时,我也需要Add_Format_Button_Click 退出。
有人能帮我解决这个看似简单的问题吗?
编辑:CheckEmptyComboboxValues包含数十个如果不是数百个遵循以下结构的 if 语句:
If Format_Layout.FilmType.Value = "" Then
MsgBox "Specify a film type!", , ("Film Type"): Exit sub
End If
Run Code Online (Sandbox Code Playgroud)
所以我想我需要将该exit sub值转换为我可以使用 if 语句在主子中检查的值
if CheckEmptyComboboxValues .value = "Exit sub" Then
exit sub
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用用户表单制作一个宏,在其中输入文件夹位置并列出该目录中的所有文件,并且也有文件标签,但我似乎不知道如何获取标签。到目前为止我所拥有的是:
'Disable screen update
Application.ScreenUpdating = False
'Declare variables
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Dim LastRow As Long
Range("A2:E2" & LastRow).ClearContents
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(FolderLocation_TextBox.Value)
i = 1
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
'Enable screen update
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)
这样就可以得到列表了。我尝试做
Cells(i + 1, 1) = oFile.Tags
Run Code Online (Sandbox Code Playgroud)
但这没有用。我还发现这与代码有关:
oFile.BuiltinDocumentProperties("Keywords").Value
Run Code Online (Sandbox Code Playgroud)
并且它说它不支持这个属性或方法。总的来说,我试图获取所有文件及其标签的列表,稍后我将尝试使其从 Excel 编辑所述文件标签。
有人可以帮我解决这个问题吗?对于元数据提取这样简单的事情来说似乎有点太复杂了。 …
我有
Dim PackageInnerHorizontalwidth As Single
Run Code Online (Sandbox Code Playgroud)
在“Public Sub PackageDimensionsCalculator()”中,这是一些计算的结果。现在我需要在模块“Function EvaluateFormatSketch() As Boolean”中使用结果值“PackageInnerHorizontalwidth”,并将该值返回为“0”,这不是所有计算后的实际结果值。我试着先做那个
Dim PackageInnerHorizontalwidth As Single
Run Code Online (Sandbox Code Playgroud)
全球和公开但没有成功。我知道在我的情况下这不是这样做的方法。
所以我的问题是:如何将“PackageInnerHorizontalwidth”作为模块“Function EvaluateFormatSketch() As Boolean”中的值?
现在我把它作为
Dim PackageInnerHorizontalwidth As Integer
Run Code Online (Sandbox Code Playgroud)
请有人帮我解决这个问题吗?
| 我想知道如何通过值的增量从一个值到另一个值填充组合框的项目列表?我现在的做法是通过以下方式手工完成:
LowerFilmWidth_ComboBox.AddItem "300"
Run Code Online (Sandbox Code Playgroud)
在此示例中,我尝试以 1 为增量添加从 300 到 650 的值
请问有人可以分享这样做的代码吗?