使用 Mac Excel VBA 另存为 pdf

2024-04-13

我在 Mac OS 上使用 Excel VBA 保存为 PDF 有时不起作用。

它会给

“打印时出错”

then

“运行时错误‘1004’:应用程序定义或对象定义的错误”。

我的代码,昨天有效:

'a) For Windows

Dim wksSheet As Worksheet, PS As String

PS = Application.PathSeparator

If InStr(1, Application.OperatingSystem, "Windows") > 0 Then
    Set wksSheet = ActiveSheet
    wksSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
      ThisWorkbook.Path & PS & pdfName, Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
      False
    'Exit Sub

Else

'b) For MAC

    Dim pdfName As String, FullName As String

    pdfName = "Q - " & Range("F2").Value & " - " & Range("A2").Value & " - " & Range("B10").Text
    FullName = "/Users/" & QTGetUserNameMAC & "/Google Drive/ABC Pte Ltd/Q - Quotations/" _
      & pdfName & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FullName _
      , Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=False

End If

我记录了宏并使用了我的代码中生成的代码(如下所示)。有用。但是,如果我删除代码中的最后一个“9”,则会出现上述错误。

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
  "/Users/" & QTGetUserNameMAC & "/Google Drive/ABC Pte Ltd/Q - Quotations/Q - VAS-Quote-QT190039.pdf" _
  , Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=False

我尝试使用 PathSeparator,再次使用最后一个“9”,它可以工作,但如果没有“9”,则会出现错误。


在创建自动 Excel 发票工具时,我自己一直在与这个问题作斗争。最大的问题是,在我工作的公司,每个人都使用 Mac,所以我必须发挥创造力。不幸的是,网上没有太多帮助(我也查看了 rondebruin 网站,该网站被提到了很多,但无济于事),但这对我有用,我认为它应该对你和任何以后会来的人有用。

要修复 Excel 不允许您保存到特定文件夹的问题,只需录制宏并执行您通常需要的步骤即可。就我而言,它们是:另存为,选择 PDF(在对话框中),选择您的文件夹(再次在对话框中)。 完成此操作后,打开 VBA 并查看它刚刚为您提供的录制宏的代码。 现在,您只需更改所需的详细信息,例如基于单元格值或工作表名称的 Pdf 名称,仅此而已。 执行宏后,macOS 会要求您授予 excel 权限,您只需接受即可,最重要的是您只需执行一次,然后它就会自动运行。

以下是我使用的代码片段,适用于 macOS Big Sur 版本 11.6 和 Excel 版本 16.54:

Sub Save_Invoice_to_Folder()

ChDir _
    "/Users/Example/Downloads/"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:= _
    "/Users/Example/Downloads/" & "Invoice-" & Range("E3").Text & ".pdf" _
    , Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False

End Sub

显然,将“示例”替换为您的用户名,并根据您的具体情况添加文件夹路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Mac Excel VBA 另存为 pdf 的相关文章

  • OpenArgs 为空问题

    我正在使用OpenArgs使用时发送值的参数DoCmd OpenForm DoCmd OpenForm frmSetOther acNormal acFormAdd acDialog value 然后我用Me OpenArgs在打开的表格内
  • 使用 mono/nunit-console/4 在 Mac OS X 控制台上运行测试

    我安装了 Max OS X 10 11 1 上面装有 Xamarin 我编写了简单的测试类 只是为了测试在 Mac OS X 和 Ubuntu 上运行 Nunit 测试 该类实际上有一个返回字符串的方法 using System names
  • 如何在 Mac 上设置默认 shell,例如钓鱼? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不喜欢重新输入fish每次我启动终端时 我想Fish https en wikipedia org wiki Fish Unix she
  • 字典、集合和数组的比较

    我正在尝试找出字典与集合和数组相比的相对优点和功能 我发现了一篇很棒的文章here http www experts exchange com articles 3391 Using the Dictionary Class in VBA
  • 如何在 Azure 逻辑应用中解析 Excel 电子表格

    我需要使用 Azure 逻辑应用从 Excel 电子表格中解析和提取列信息 我已经为我的逻辑应用程序设置了从 Outlook 检索最新未读电子邮件的功能 此外 我的逻辑应用程序执行 FOR EACH 来读取所有附件 来自未读电子邮件 并确保
  • VS Code 即使关闭也使用 100% CPU

    即使未打开 VS Code 也会占用 100 的 CPU 使用率 我跑了ps aux grep PID命令查看详细信息但什么也看不懂 这是输出 tawhid 27099 100 0 0 1 447352160 11856 R 7 18PM
  • 复制一张工作表上的静态范围,然后根据单元格中的单个值粘贴到另一张工作表中的动态范围

    我对这个问题分为三个部分 我在 Sheet1 A1 中有一个带有周数的单元格 我在 Sheet1 B1 F1 中有一个需要复制的静态范围 然后 我需要将该值粘贴到 Sheet2 中的动态范围中 偏移量为行的周数 这是我正在为我经常使用的工作
  • 如何从 os x 终端启动屏幕保护程序(并锁定屏幕)?

    有没有办法从 bash 脚本启动屏幕保护程序 并锁定屏幕 你试过这个吗 System Library Frameworks ScreenSaver framework Resources ScreenSaverEngine app Cont
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 在 MacOS 终端上运行 ffmpeg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 MacOS 相当陌生 我发现使用终端来获取信息并不容易ffmpeg和我在 Window 上一样正常运行 我有 ffmpeg 二进制文件ffmpe
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 如何在 swiftUI (macOS) 中检测按键按下和释放

    除了标题之外没什么可说的 我希望能够在按下按键和释放按键时 在 macOS 上 在 swiftUI 视图中执行操作 在 swiftUI 中是否有任何好的方法可以做到这一点 如果没有 有什么解决方法吗 不幸的是 键盘事件处理是其中一个令人痛苦
  • Pandas 0.22.0:IndexError:读取 xls 时列表索引超出范围

    我正在尝试将 282Mb 65536 行 x 138 列 xls 文件加载到 pandas 数据框中 import pandas as pd import os filename r invoicing xls dir os path di
  • 文件夹.文件的相对路径

    我有一个 Excel 文件 在同一文件夹中还有一个包含我想要包含的 CSV 文件的文件夹 使用 来自文件夹 查询 第一步将给出以下查询 Folder Files D OneDrive Documents Health Concept2 现在
  • 定义 js-xlsx 单元格范围

    我正在尝试使用 js xlsx 读取 Excel 值 我可以使用以下代码从工作簿工作表中获取单元格值 if typeof require undefined XLSX require xlsx var workbook XLSX readF
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • Excels COUNTIFS 函数中的数组作为条件,混合 AND 和 OR [重复]

    这个问题在这里已经有答案了 我已经在谷歌上搜索了一段时间 但似乎无法让它发挥作用 我使用 Excel 2010 希望混合使用 AND 和 OR 运算符来计算行数 我想做的是这样的 COUNTIFS A A string1 B B strin
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

    我有一份 Excel 作业 但我陷入了最后部分 我被要求使用 MID LEN 和 FIND 来提取单元格内的特定字符串 我非常了解每个人的工作方式 将这三者结合起来并让它们发挥作用是我遇到的问题 我需要将城市与地址的其余部分分开 然后将其显

随机推荐

  • 如何创建一个值超过允许的最大整数的枚举?

    我正在 C 中创建一个枚举 以使用二进制标志创建一个有限状态机 看起来像 enum VStates NEUTRAL 0x00000000 000000 Physical Status DRY 0x00000001 000001 WET 0x
  • Java Web 服务 - Axis 是必要的吗?

    Is AXIS or CXFJava Web 服务必需吗 这一切都可以通过 JDK 1 6 完成吗 Java Web 服务需要 AXIS 或 CXF 吗 不 虽然Axis2 http ws apache org axis2 是使用 Web
  • 如何设计“冰淇淋三明治”选项卡之间的分隔线样式?

    我将以下样式与一组九个补丁图像一起使用 在一些冰淇淋三明治选项卡的底部创建一条红线 而不是标准的蓝线
  • 在c#中将未命名的json数组反序列化为对象

    想知道如何在 C 中反序列化以下字符串 access token thisistheaccesstoken 如果 json 是 我知道该怎么做 array access token thisistheaccesstoken 我会这样做 pu
  • java 注释:用 xml 文件覆盖注释的库

    Java 有注释 这很好 然而 一些开发人员认为最好使用 xml 文件用元数据注释代码 其他开发人员更喜欢注释 但会使用元数据覆盖源代码中的注释 我正在编写一个使用注释的 Java 框架 问题是 是否有一种标准方法来定义和解析 xml 文件
  • 处理回调

    我在 Objective C 类中有一个方法 它有 2 个用 C 编写的回调函数 类指针 即self被传递给这些函数作为void 在 C 函数中 我创建一个类型为 class 的指针并分配void 范围 第一个回调函数执行成功 但是void
  • 使用 FFMPEG 播放音频

    我一直在尝试使用 NDK 将 FFMPEG 用于播放音频 移植到 Android 中 我取得了一些成功 我可以构建 FFMPEG 并通过 NDK 链接它 我可以打电话avcodec decode audio3 并解码给定的音频文件 所以这里
  • java并发hashmap

    这似乎是错误的 static ConcurrentHashMap k multiple threads have access to k X o k get LL o a 6 如果多个线程同时访问 k 并获取 k LL 然后在没有 k pu
  • 使用 glassfish 4 和 Postgres 在 eclipselink 中创建数据库不起作用

    我想创建基于实体的数据库 配置 Glassfish GlassFish 服务器开源版 4 1 版本 13 Eclipselink Eclipse 持久性服务 2 5 2 v20140319 9ad6abd 随 glassfish 提供 数据
  • Python:PDF:如何读取带有单选按钮的表单

    我创建了一个带有一些单选按钮的表单 遵循以下示例使用 Python 在 ReportLab 中创建交互式 PDF 表单 https www blog pythonlibrary org 2018 05 29 creating interac
  • sublimegdb 无法停在断点处

    我在 sublime text 2 中安装了 sublimeGDB 并且我的设置是正确的 然后我在一行中按 F9 设置断点 当我按F5运行时 我发现我的程序无法停在断点处 并且程序运行完毕 下面显示的信息是 GDB session结束 GD
  • UITapGestureRecognizer 不适用于 .began 状态

    我在我的应用程序中添加了两个手势识别器UIView func tap sender UITapGestureRecognizer if sender state began print snapping photo func longPre
  • 服务器操作的 Node.js 客户端进度指示器

    我的 Node js 服务器将对上传的文件执行某些操作 我想将近乎实时的进度反映给客户端 此操作大约需要 30 秒 1 分钟才能完成 理想情况下 文件上传后 客户端将能够观察服务器对文件操作的进度 我可以执行常规轮询 长轮询 或者通过 we
  • 如何在会话中存储石英作业的结果?

    我已经在 Grails 2 1 应用程序中安装了 Quartz 插件 每 5 分钟就会触发一个作业来计算一些数字 这些数字显示在每个页面的侧栏上 计算结果会经常变化 我的目标是当用户刷新屏幕时 他们可以在侧边栏上看到新结果 现在我的方法是将
  • php 中的 git post-receive 挂钩

    我希望能够在 post receive 挂钩上执行 php 挂钩 将文件从 git 存储库复制到同一服务器上的 web 文件夹 并且只有在主分支上推送文件时才运行 忽略其他分支 以下是我到目前为止所得到的 usr bin php 基本上 我
  • 如何从生成的sql返回本地临时表

    我有过滤 SQL 它返回列数不确定的查询 并希望在存储过程中使用结果 DECLARE RecordSelectionSql VARCHAR MAX SET RecordSelectionSql SELECT SQLQUERY FROM Re
  • 创建 tar 文件并按当前日期命名

    我正在尝试在 bash 中创建一个备份脚本 以 tar 压缩文件夹的内容并将生成的文件移动到某处 但我真的不知道该怎么做 bin bash name date y m d tar zcvf name code 但结果是文件只是命名为 y m
  • 如何在 Kotlin 中将 Fuel 与协程一起使用?

    我想获取 API 请求并将请求的数据保存到数据库 还想返回数据 即写入数据库 我知道 这在 RxJava 中是可能的 但现在我用 Kotlin 协程编写 目前使用 Fuel 而不是 Retrofit 但差异不是那么大 我读如何将 Fuel
  • 使用 Windows 服务总线 (1.1) 配置向导配置时出错

    我正在尝试使用服务总线配置向导配置 Windows 服务总线 1 1 当我尝试配置它时 出现以下错误 谁能告诉我出了什么问题 错误 5 9 2014 9 32 40 AM System Management Automation Cmdle
  • 使用 Mac Excel VBA 另存为 pdf

    我在 Mac OS 上使用 Excel VBA 保存为 PDF 有时不起作用 它会给 打印时出错 then 运行时错误 1004 应用程序定义或对象定义的错误 我的代码 昨天有效 a For Windows Dim wksSheet As