打开文件的命令按钮 - 位于同一单元格按钮中的文件路径对齐到

Posted

技术标签:

【中文标题】打开文件的命令按钮 - 位于同一单元格按钮中的文件路径对齐到【英文标题】:Command button to open file - file path located in the same cell button is aligned to 【发布时间】:2014-09-02 10:03:46 【问题描述】:

我正在尝试获取一个可以分配给命令按钮的宏。我有多个按钮可以打开不同的文件,因此在每个单元格中我都包含不同的文件路径。

目前我的命令按钮正在寻找特定的单元格引用并打开该值。 有什么方法可以让宏在与其对齐的单元格中查找值?

我目前正在使用两个宏 - 一个用于创建按钮,另一个用于分配给按钮。我必须为每个按钮创建一个新宏。

创建按钮的宏...

子按钮()

Dim i As Long
Dim lRow2 As Integer
Dim shp As Object
Dim dblLeft As Double
Dim dblTop As Double
Dim dblWidth As Double
Dim dblHeight As Double

With Sheets("Print Schedule")
    dblLeft = .Columns("A:A").Left      'All buttons have same Left position
    dblWidth = .Columns("A:A").Width    'All buttons have same Width

        For i = Range("E65536").End(xlUp).Offset(1, 0) To ActiveCell + 15
        dblHeight = .Rows(i).Height     'Set Height to height of row
        dblTop = .Rows(i).Top           'Set Top top of row
        Set shp = .Buttons.Add(dblLeft, dblTop, dblWidth, dblHeight)
        shp.Characters.Text = "Open Print Schedule"
        Next i
End With

结束子

打开文件的宏...

Sub Mendip()
Dim myfile As String

myfile = Cells(6, 6).Value

Application.Workbooks.Open Filename:=myfile
End Sub

请告诉我有更好的方法来做到这一点!

【问题讨论】:

您可以为按钮分配一个通用宏并使用Application.Caller查找单元格地址 【参考方案1】:

当您创建如下所示的表单按钮时,您可以为它们分配一个通用宏

你可以像这样分配一个宏

Sub Sample()
    Dim shp As Shape

    Set shp = ActiveSheet.Shapes(Application.Caller)

    'MsgBox shp.TopLeftCell.Address

    Select Case shp.TopLeftCell.Address
        Case "$A$1"
            '~~> Do Something
        Case "$B$1"
            '~~> Do Something

        '
        '~~> And So on
        '
    End Select
End Sub

编辑

有一件事我忘了提。要将“示例”宏分配给所有按钮,请在创建形状后添加以下行。

shp.OnAction = "Sample"

【讨论】:

这是一个非常有用的答案,也是一个很好的开始方式 - 不幸的是,我对 Case 函数知之甚少。你能帮我解释一下吗? 谢谢 - 我会查看搜索结果以找到有效的解释。

以上是关于打开文件的命令按钮 - 位于同一单元格按钮中的文件路径对齐到的主要内容,如果未能解决你的问题,请参考以下文章

删除按钮位于 UITableView 样式分组单元格背景之外

表格视图中的按钮没有响应其单元格编号

使用 swift3 为 xib 文件中的按钮提供操作

带有网络链接的单元格中的按钮

iOS:表格单元格中的 UILabel 和 UIButton

如何从与我按下的按钮位于同一行的单元格中获取值