如何默认或通过使用 Microsoft Excel 中的宏来减小嵌入文件的图标尺寸

如何默认或通过使用 Microsoft Excel 中的宏来减小嵌入文件的图标尺寸

我在 Windows 7 上使用 Microsoft Excel 2010。我有一项作业要求我每隔几分钟就将压缩文件的对象嵌入到 Microsoft Excel 工作表的单元格中。

压缩文件的图标很大,占据了三个相邻单元格的高度。因此,每次嵌入压缩文件时,我都会右键单击图标,然后选择格式化对象菜单项,然后将图标大小更改为其原始大小的 50%。

有没有办法在 Microsoft Excel 中设置图标的默认大小?如果没有,有没有办法使用宏自动设置嵌入对象的格式?我搜索了很多,但找不到任何东西。我尝试过针对某个特定对象的 VBA 脚本,但无法针对任何对象执行此操作

感谢您的任何意见

编辑:感谢您要求我发布到宏的评论。这是我录制的宏,但它仅适用于特定对象,即对象 21。此代码存在多个问题,我将在代码下方概述这些问题

Sub Reduce_size_icon() 
' 
' Reduce_size_icon Macro
' Reduce the size of the icon 
'
'
    ActiveSheet.Shapes("Object 21").LockAspectRatio = msoTrue
    ActiveSheet.Shapes("Object 21").Height = 20.25
    ActiveSheet.Shapes("Object 21").Width = 69.75 End Sub
  1. 这仅适用于特定对象。一种方法可能是循环遍历工作表上所有可能的对象,然后减小它们的高度。但如果我逐个添加对象,则宏只需要对最后一个对象运行,而不是对所有之前的对象运行,因为它们已经格式化,特别是如果我们想将高度和宽度减少当前尺寸的 50%。(参见第 2 点)
  2. 如果我们可以将高度减少一半,而不是为高度分配绝对值,那就更好了。这是因为有时我可能有不同文件的对象,因此图标大小也不同。
  3. 读完您的评论后,我意识到创建一个宏可能更容易,该宏会自动将对象嵌入并格式化到运行该宏的突出显示的单元格中。但是,我们想要的是每次都应该从不同的文件创建对象。那么,宏是否可以运行与构建对象完全相同的步骤,但在提示您输入文件路径时,它可以停止并允许用户选择特定文件?

当然,最简单的方法是将图标的大小指定为默认值,以便它始终以较小的尺寸嵌入。

答案1

我不太确定 Excel 中是否有任何设置可以指定嵌入对象的图标默认大小。如果有,我真的很想知道。这将使工作变得非常简单。

目前我只是建议一个像这样的小宏。

这已经在 Excel 2013 上测试过了,我希望它也能适用于 Excel 2010。

在当前工作表中按ATL+F11以访问 VBA 编辑器。插入模块然后将以下代码粘贴到其中。

Sub SelectOLE()
Dim objFileDialog As Office.FileDialog
    Set objFileDialog = Application.FileDialog(MsoFileDialogType.msoFileDialogFilePicker)

        objFileDialog.AllowMultiSelect = False
        objFileDialog.ButtonName = "Select File"
        objFileDialog.Title = "Select File"
        objFileDialog.Show

        If (objFileDialog.SelectedItems.Count > 0) Then

        Set f = ActiveSheet.OLEObjects.Add _
            (Filename:=objFileDialog.SelectedItems(1), _
              Link:=False, _
              DisplayAsIcon:=True, _
              IconLabel:=objFileDialog.SelectedItems(1), _
              Top:=ActiveCell.Top, _
              Left:=ActiveCell.Left _
             )
        f.Select
        f.Width = 18   'Adjust as per your needs
        f.Height = 18  'Adjust as per your needs

        End If

End Sub

您也可以为该宏分配键盘快捷键。将文件保存为 .xlsm 启用宏的 Excel 工作簿。

现在,每次您需要嵌入对象时,首先单击要嵌入的单元格并运行此宏。从文件打开对话框中选择文件,然后单击打开按钮。

您可以根据代码中的需要来决定宽度和高度参数。请注意,此代码可能不够稳健,并且尚未针对任何异常值或异常处理进行测试。

请参阅下面的屏幕截图,了解其工作原理。

在此处输入图片描述

相关内容