我在Windows 7上使用Microsoft Excel2010。我有一项作业,要求我每隔几分钟将压缩文件的对象不断嵌入到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
当然,最简单的方法是能够将图标的大小指定为默认值,以便始终以较小的大小嵌入图标。
我不太确定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工作簿。
现在,每次需要嵌入对象时,请先单击要嵌入的单元格,然后运行此宏。从“文件打开”对话框中选择文件,然后单击“打开”按钮。
您可以根据需要在代码中最好地确定Width&Height参数。请注意,此代码可能并不健壮,并且尚未针对任何异常值或异常处理进行过测试。
请参阅下面的屏幕快照,了解其工作原理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句