- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Excel 电子表格中有 1 到 4 个附加的 OLEObject(zip 文件)。
我可以手动右键单击 > 复制其中一个对象,然后转到桌面或资源管理器窗口,然后右键单击 > 粘贴以在该文件夹中创建 zip 文件。
据我所知,我无法使用 VBA 自动执行此过程的粘贴阶段。
此外,我不能同时对多个对象执行此手动过程,因此我最初希望的解决方法(将它们全部复制到剪贴板然后打开资源管理器窗口)将行不通。
我最好的解决方法是依次复制每个对象,ShellAndWait 资源管理器窗口,并指示用户粘贴文件,然后在完成后关闭窗口,然后继续下一个对象。
Sub blunt_extract()
If MsgBox("All attachments will be downloaded to your Documents folder", vbOKCancel Or vbInformation, "") = vbCancel Then Exit Sub
Dim o As OLEObject, ws As Worksheet, rM As Range, ATT As String
On Error Resume Next
MkDir modSpecialFolders.SpecFolder(modSpecialFolders.CSIDL_PERSONAL) & "\CIRF\"
MsgBox "For each attachment, Explorer will launch in the CIRF folder. Right-click > Paste the zip file, then close the Explorer window to continue", , "Save Attachment"
Set ws = ThisWorkbook.Sheets(wsA)
For Each o In ws.OLEObjects
If Left(o.Name, 11) = "Attachment " Then
o.Copy
ShellAndWait "explorer " & modSpecialFolders.SpecFolder(modSpecialFolders.CSIDL_PERSONAL) & "\CIRF\", 0, vbNormalFocus, PromptUser
MsgBox "Done pasting? Click OK to continue", , "Save Attachment"
End If
Next o
On Error GoTo 0
End Sub
最佳答案
由于(不幸的是)Windows Explorer 不是自动化的,我们需要通过模拟键盘按键来间接命令它。
我建议使用此(经过测试的)解决方案将工作表中的嵌入式 OLE 对象移动到给定文件夹中
Sub SaveOleObjectsTofolder(ws As Worksheet, folder As String)
Shell "explorer " & folder, vbMaximizedFocus
Dim o As OLEObject
For Each o In ws.OLEObjects
Application.Wait Now + TimeValue("00:00:01") ' necessary, give it a moment
o.copy
SendKeys "^v" ' paste in explorer
Next
SendKeys "%fc" ' close the explorer
End Sub
关于excel - 复制 OLEObject,并将其粘贴到文件夹(或桌面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21310180/
我目前正在将 PDF 文件和图像作为 OLE 对象附加到我的 Excel 工作表,并尝试控制它们的大小。 (我希望图标沿着网格显示) 问题在于,尽管每个 OLEObject 应满足以下规范,但它们有时
运行该函数时,它似乎在尝试添加项目之前没有创建 DropDown 菜单,因此它会遇到编译时错误: Method or data member not found 突出显示 SomeNameToo标识符
如何重命名 OLEObject? 该对象是嵌入的,并且在其他行中使用时,oname 变量有效,但 .name命令将不起作用。没有错误。 Public Sub insertFiles() Dim new
我有一组 OLEObjects 选项按钮,但我已经意识到,当激活一个选项按钮以触发类似表单对象的子或函数时,我无法处理更改事件。我需要在项目中使用 OLEObjets,OLEObject 在一张表中。
我把日期选择器放在我的工作表上,遇到了很多问题 我无法选择或删除这些 dtpickers,也无法手动或从 VBA 中选择或删除此代码 Dim obj As OLEObject For Each obj
我正在尝试从当前文件显示指向其他 Excel 文件的链接。我能够将其显示为自定义图标,指定图标的路径,但如果可能的话,我想显示为默认的 Excel 图标,因此我不必将此图标文件发送给用户。 v_she
我不知道如何确定代码中需要使用的文件的类类型,以将这些文件嵌入到 Word 文档中: Selection.InlineShapes.AddOLEObject ClassType:="AcroExch.
我正在尝试在 Excel VBA 中创建一个自定义类来处理 OLEObject(工作表上的 ActiveX 控件)的 GotFocus 和 LostFocus 事件。 自定义类clsSheetCont
我已经为这个问题苦苦挣扎了一段时间......我想做一些非常简单的事情。我想在运行时创建多个命令按钮,然后用一个过程处理这些命令按钮的事件。所以我构建了一个“withevents”类来处理自动化,但我
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我正在向 PowerPoint 中的幻灯片添加一些不同的文件类型。这些类型包括 mp4、zip、swf 和其他格式。我不是在寻找一种方法来播放这些文件类型;但是,我想在 powerpoint pres
我在 Excel 电子表格中有 1 到 4 个附加的 OLEObject(zip 文件)。 我可以手动右键单击 > 复制其中一个对象,然后转到桌面或资源管理器窗口,然后右键单击 > 粘贴以在该文件夹中
我正在尝试删除 ActiveX OLEObject从工作表然后启动 UserForm如vbModeLess . 在下面的代码中: 首先,一个子创建一个 OLEObject (a Label )在工作表
假设您希望创建然后关闭链接的 Excel 工作表: Dim shp As shape Set shp = Application.ActiveDocument.Shapes.AddOLEObject(
我有一些循环通过 Excel 工作表上的 ActiveX 控件的代码。这记录了哪些复选框已被选中。 Dim obj AS OLEObject For Each obj In ActiveSheet.O
我有一些用于打开 IE 的继承代码,但遇到了一些麻烦,这就是我所拥有的: IEUnit.pas (no form) 有 LoadIE 和 OpenIE 的例程 从单独的线程调用 OpenIE,它看起来
即使经过数小时的搜索,我仍在努力正确使用 API。 基本上,我想从我的 Excel 文件中执行以下操作。 1) 创建一个新的 Powerpoint 演示文稿和幻灯片。 [完毕] 2) 将 OLEObj
对于一个文档,我使用多个数据库(在单独的工作表中)和由这些数据库填充的多个下拉菜单(组合框)。在更改时,它会在主工作表中添加一些信息和图片,这些信息是从这些数据库中检索的。一切正常,但是......一
因此,我尝试使用 next modified code: 在没有互联网连接的情况下进行发布请求 WinHttpReq := CreateOleObject('WinHttp.WinHttp
我正在创建一个 LotusScript 脚本,该脚本创建一个带有嵌入对象的 Excel 文件。但是当我实际嵌入 PDF 文件时,我得到“无法获取 OLEObjects 类的 Add 属性”。不幸的是,
我是一名优秀的程序员,十分优秀!