如何:调整工作表单元格中的控件的大小

调整工作表的列和行的大小时,单元格中所包含的任何宿主控件都将自动调整到该单元格调整后的高度或宽度。默认情况下,Windows 窗体控件不会自动调整大小。

**适用于:**本主题中的信息适用于 Excel 2013 和 Excel 2010 的文档级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

如果在设计时添加了这些控件,则必须为每个控件设置定位选项。

如果以编程方式添加 Windows 窗体控件并提供了范围参数,则当调整范围内的单元格的大小时,也将自动调整该控件的大小。有关更多信息,请参见在运行时向 Office 文档添加控件

在设计时调整控件大小

使控件在设计时随单元格调整大小

  1. 将一个 Windows 窗体控件从**“工具箱”**拖动到工作表。

  2. 右击该控件,然后单击**“设置控件格式”**。

  3. 在**“设置控件格式”对话框中,单击“属性”**选项卡。

  4. 在**“对象位置”下选择“大小、位置随单元格而变”选项,然后单击“确定”**。

    当调整包含该控件的单元格的大小时,也将调整该控件的大小,以使其适合单元格的大小。

在运行时调整控件大小

如果在运行时添加一个 Windows 窗体控件并将 Microsoft.Office.Interop.Excel.Range 作为该控件位置传入,则当调整包含该范围的工作表单元格的大小时,该控件将自动调整自身的大小。

使控件在运行时随单元格调整大小

  • 将一个控件添加到 A1 范围。

    Dim control1 As Microsoft.Office.Tools.Excel.Controls.Button = _
        Me.Controls.AddButton(Me.Range("A1"), "control1")
    
    Microsoft.Office.Tools.Excel.Controls.Button control1 =
        this.Controls.AddButton(this.Range["A1"], "control1");
    

    当调整包含该控件的单元格的大小时,也将调整该控件的大小,以使其适合单元格的大小。

重置控件位置

通过将 Placement 属性设置为以下 XlPlacement 值之一,可以重置控件的位置并调整它的大小:

更改控件的行为使其位置和大小不随单元格而变

  • 调用控件的 placement 属性并将该值设置为 xlFreeFloating

    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating
    
    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating;
    

请参见

任务

如何:为 Office 文档添加 Windows 窗体控件

如何:在打印时隐藏工作表的控件

概念

在运行时向 Office 文档添加控件

Office 文档上的 Windows 窗体控件的限制

其他资源

Office 文档上的控件