gpt4 book ai didi

excel - 打印文件夹 VBA 代码中的所有文件不起作用

转载 作者:行者123 更新时间:2023-12-04 22:28:19 25 4
gpt4 key购买 nike

我正在尝试使用此代码打印文件夹中的所有文件,但有些东西无法正常工作......

Sub Bulk_Print_From_Folder()

Dim k As Variant
Dim n As Variant
Dim oFile As Object
Dim oFiles As Object
Dim oFolder As Object
Dim Path As Variant
Dim vItem As Object

Path = "C:\Testing Folder"

With CreateObject("Shell.Application")
Set oFolder = .Namespace(Path)
If oFolder Is Nothing Then
MsgBox "The Folder :" & vbLf & """" & Path & """ was Not Found.", vbCritical
Exit Sub
End If
End With

Set oFiles = oFolder.Items
oFiles.Filter 64, "*.pdf;*.jpg;*.png;*.txt"

For n = 0 To oFiles.Count - 1
Set oFile = oFiles.Item(n)
For k = 0 To oFile.Verbs.Count - 1
Set vItem = oFile.Verbs.Item(k)
If Not vItem Is Nothing Then
If Replace(vItem, "&", "") = "Print" Then vItem.DoIt
End If
Next k
Next n

End Sub

额外信息:

»» 我启用了宏并定义了默认打印机...打印机工作正常。

»» 我注意到点击按钮执行此代码后,我在任务栏中看不到打印机图标。如果它很重要,我正在使用 Office 2007 Ultimate。

»» 我知道它找到了文件夹。我通过更改代码上的文件夹名称进行了测试,并收到了消息
MsgBox "The Folder :" & vbLf & """" & Path & """ was Not Found.", vbCritical

这是我的项目引用:

enter image description here

我错过了什么吗?

最佳答案

代码没有问题。

问题在于为打开图像文件设置的默认程序。如果您右键单击图像文件,您将看不到 Print选项。要对该问题进行排序,请打开 Control panel并转到 Default Apps .更改Photo Viewer的默认应用程序|说Paint .关闭 Default Apps
现在右键单击图像文件,您将看到 Print选项。如果你看到 Print ,那么您的代码现在将作为 vItem 运行将有 &Print
如果您在该文件夹中有混合文件并且看不到 Print任何特定扩展的选项然后执行我上面的建议。更改默认应用,直到看到 Print在上下文菜单中。

根据操作系统,您可能会看到 &Print&Print out或地区语言的东西。您可以使用此代码进行测试

For n = 0 To oFiles.Count - 1
Set oFile = oFiles.Item(n)
For k = 0 To oFile.Verbs.Count - 1
Set vItem = oFile.Verbs.Item(k)
If Not vItem Is Nothing Then
Debug.Print vItem
End If
Next k
Next n

所以你可能想更改代码
If Replace(vItem, "&", "") = "Print" Then


If InStr(1, vItem, "&Print") Then 

或者
InStr(1, vItem, "imprimir", vbTextCompare) '<~~ See Chat below quesiton

关于excel - 打印文件夹 VBA 代码中的所有文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55571437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com