小编Edu*_*rds的帖子

以编程方式按“右 Shift”键

我无法找到一种以编程方式专门按下右 Shift 键的方法。我需要一个向下和向上的键(按下/释放)。

我所拥有的是:

SendKeys.Send("{RSHIFT}")
Run Code Online (Sandbox Code Playgroud)

我知道这种转变就像:

SendKeys.Send("+")
Run Code Online (Sandbox Code Playgroud)

我想这只是 Shift 键,但我特别需要一个右 Shift 键。

有人可以帮我解决这个代码吗?

c# vb.net keyboard

6
推荐指数
2
解决办法
953
查看次数

VBA 从 Excel 写入文件标签

我有一些代码可以创建文件夹中的文件列表并获取它们的标签:

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)

tags excel vba

5
推荐指数
1
解决办法
2006
查看次数

如果被调用的子调用“退出子”,则退出主子

我有一个调用另一个子程序的子程序,通常我需要退出被调用的子程序并停止执行调用它的子程序的其余部分。

所以我有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)

excel vba

1
推荐指数
1
解决办法
76
查看次数

VBA获取文件夹中的文件列表及其标签(关键字)

我正在尝试使用用户表单制作一个宏,在其中输入文件夹位置并列出该目录中的所有文件,并且也有文件标签,但我似乎不知道如何获取标签。到目前为止我所拥有的是:

'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 编辑所述文件标签。

有人可以帮我解决这个问题吗?对于元数据提取这样简单的事情来说似乎有点太复杂了。 …

tags vba metadata keyword

1
推荐指数
1
解决办法
2346
查看次数

VBA Excel 使用来自另一个模块的整数变量

我有

Dim PackageInnerHorizontalwidth As Single
Run Code Online (Sandbox Code Playgroud)

在“Public Sub PackageDimensionsCalculator()”中,这是一些计算的结果。现在我需要在模块“Function EvaluateFormatSketch() As Boolean”中使用结果值“PackageInnerHorizo​​ntalwidth”,并将该值返回为“0”,这不是所有计算后的实际结果值。我试着先做那个

Dim PackageInnerHorizontalwidth As Single
Run Code Online (Sandbox Code Playgroud)

全球和公开但没有成功。我知道在我的情况下这不是这样做的方法。

所以我的问题是:如何将“PackageInnerHorizo​​ntalwidth”作为模块“Function EvaluateFormatSketch() As Boolean”中的值?

现在我把它作为

Dim PackageInnerHorizontalwidth As Integer
Run Code Online (Sandbox Code Playgroud)

请有人帮我解决这个问题吗?

excel vba integer

0
推荐指数
1
解决办法
66
查看次数

VBA 将递增的值添加到组合框中

| 我想知道如何通过值的增量从一个值到另一个值填充组合框的项目列表?我现在的做法是通过以下方式手工完成:

LowerFilmWidth_ComboBox.AddItem "300"
Run Code Online (Sandbox Code Playgroud)

在此示例中,我尝试以 1 为增量添加从 300 到 650 的值

请问有人可以分享这样做的代码吗?

excel vba combobox

0
推荐指数
1
解决办法
43
查看次数

标签 统计

vba ×5

excel ×4

tags ×2

c# ×1

combobox ×1

integer ×1

keyboard ×1

keyword ×1

metadata ×1

vb.net ×1