在哪里放置 Access vba 代码以仅在物理打印时触发?

2024-04-30

我有一些代码想要在用户实际打印报告时触发。不是在打印预览等时,而是仅在发送到打印机时。用户需要能够提取报告并查看它,然后如果他们决定打印,VBA 代码将接管并将一些信息写入与用于生成报告的表不同的表中。我希望不必在实际报告上放置“打印”按钮(尽管我知道我可以隐藏它以进行打印),所以我想知道是否可以以某种方式捕获“打印”对话框。

有人曾经有过这样的运气吗?


经过深思熟虑,我认为实现此目的的最佳方法是在报告页面事件期间识别活动窗口文本。在打印预览期间,此文本将是数据库本身的名称,例如“Microsoft Access - DatabaseName : Database (Access 2003)”。在实际打印操作期间,活动窗口将是“打印”

我认为大部分代码来自这个来源 http://msdn.microsoft.com/en-us/library/aa141354%28v=office.10%29.aspx.

Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
   (ByVal Hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Sub Report_Page()
On Error GoTo PrintError

    Dim strCaption As String
       Dim lngLen   As Long

       ' Create string filled with null characters.
       strCaption = String$(255, vbNullChar)
       ' Return length of string.
       lngLen = Len(strCaption)

       ' Call GetActiveWindow to return handle to active window,
       ' and pass handle to GetWindowText, along with string and its length.
       If (GetWindowText(GetActiveWindow, strCaption, lngLen) > 0) Then
          ' Return value that Windows has written to string.
          ActiveWindowCaption = strCaption
       End If

    If ActiveWindowCaption = "Printing" Then

        '
        ' Special activity goes here.
        '

    End If

    Exit Sub

PrintError:
    ' Just in case

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

在哪里放置 Access vba 代码以仅在物理打印时触发? 的相关文章

  • 将最后几个功能添加到我的调度模板生成器中

    感谢 StackOverflow 上的一些出色的人 我几乎完成了调度模板生成器的代码 我还想补充三件事 但我遇到了一些麻烦 当前细分 我有两张表 2 员工列表 和 X 模板 员工列表中的值是从单元格 D9 开始的一列员工姓名 然后将员工值转
  • 错误:查询值的数量和目标字段的数量不相同

    Public Class RoomInfo Dim ValTx As String Dim ValNr As Integer Private Sub cboRoomType DropDown sender As System Object
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • 使用 ObjPtr(Me) 返回自定义类实例的名称?

    我明白那个ObjPtr http support microsoft com kb 199824将返回内存中对象的地址 并且它指向一个名为 IUNKNOWN 的结构 并且其中编码了某种接口定义以公开对象结构 但我不知道如何确定一个对象的接口
  • 我可以获取VBA代码中的注释文本吗

    可以说我有以下内容 Public Sub Information TEST End Sub 有没有办法得到 TEST 结果 不知何故通过VBA 例如 在 PHP 中 有一个获取注释的好方法 这里有什么想法吗 编辑 应该有办法 因为像 MZ
  • VBA 中的匈牙利语好吗?

    我在 Net 中不使用匈牙利语 str int 前缀 但我仍然发现它在 VBA 中很有用 因为在 VBA 中很难看到类型 这很糟糕吗 不必要 也许我错过了一些东西 我真的很感激任何反馈 我想知道有一段时间了 谢谢大家 我想说 这种匈牙利符号
  • 检查未绑定控件是否具有值的正确方法

    简单场景 一个表单和一个文本框 未绑定 Text1 If lt gt Text1 Then MsgBox Not Empty End If 上面的代码有效 表达方式 lt gt Text1如果文本框包含字符 则计算结果为 True 无论文本
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • 数据透视表错误 |无效的调用或过程

    我需要一些帮助来解决这个问题 我正在尝试创建一个数据透视表 从第一季度开始 在同一张表中包含一系列数据 第一个 if 语句在那里是因为最后一列并不总是包含标题 所以我将其包含在那里 我希望范围是动态的 因为所制作的表格的大小将根据工作表中数
  • 在工作表中合并行和求和值

    我有一个 Excel 工作表 其中包含以下数据 管道 来分隔列 A B C X 50 60 D E F X 40 30 A B C X 10 20 A B C Y 20 20 A B C X 20 70 D E F X 10 50 A B
  • 在Excel VBA中将图像(jpg)转换为base64?

    我需要在 Excel 中转换图像 或通过VBA 转为base64 最后我将进行XML输出 我怎样才能做到这一点 我需要引用 DOM 吗 我一直在读书这个问题 https stackoverflow com questions 169907
  • 使用宏从 Excel 电子表格中删除任何非指定字符

    我正在尝试通过删除任何非标准字符来清理 Excel 中的 CSV 文件 我唯一关心保留的字符是 A Z 0 9 和一些标准标点符号 任何其他字符 我想删除 当它找到包含我未指定的任何字符的单元格时 我已经得到了以下宏来删除整行 但我不确定如
  • 使用 Excel VBA 循环工作簿文件夹并将所有工作表导出为制表符分隔文本

    我拼凑了一个 Excel VBA 脚本 该脚本将打开的工作簿中的所有工作表写入单独的制表符分隔文件 这仍然是 宏 吗 我正在 Excel 真空中学习这一点 它一次只处理一本工作簿 效果很好 这里是 Sub exportSheetsToTex
  • 勾选或取消勾选复选框时输入时间戳

    我有一个 3 行 7 列的工作表 A1 G3 A 和 B 列有 6 个复选框 A1 B3 A 列和 B 列中的框分别链接到 C 列和 D 列 E 列和 F 列中的单元格只是分别复制 C 列和 D 列 实时E1细胞是 C1 and F3细胞是
  • 有什么办法可以加快这个 VBA 算法的速度吗?

    我正在寻找实现 VBAtrie http en wikipedia org wiki Trie 构建能够在相对较短的时间内 少于 15 20 秒 处理大量英语词典 约 50 000 个单词 的算法 由于我实际上是一名 C 程序员 这是我第一
  • 如何将动态范围字符串文本传递给 EXCEL VBA 中的 SQL 查询 IN 子句

    我有动态范围字符串数据 需要通过修剪单元格和单引号和逗号分隔到 SQL 查询 A 123ABC345 234CDE678 ZSE123MTR POR123456 Result select from table name where col
  • 循环检查文本框是否不为空

    我试着For循环遍历表单上的所有控件以检查 TextBox 是否为空 然后将焦点放在第一个空文本框上 我的 Excel VBA 表单有 34 个文本框 现在它有一个嵌套的If检查所有文本框是否不为空的函数 如果还有空的 SetFocus第一
  • 使用vba更改工作表的代号

    此代码在 VBE 窗口打开时工作正常 但会引发错误Subscript out of range在这一行 wB VBProject VBComponents wS CodeName Properties CodeName Value wsDa

随机推荐

  • 为什么嵌套 Java 类不能从 Scala 导入?

    我应该如何使用嵌套 Java 类来模拟斯卡拉莫克 特别是当所说的嵌套 Java 类来自第三方库时 鉴于以下来源 src main java Outer java Outer class that offers a Nested class
  • 如何使用 tf-idf 选择停用词? (非英语语料库)

    我已经成功评估了tf idf 函数 http en wikipedia org wiki Tf idf对于给定的语料库 如何找到每个文档的停用词和最佳词 据我所知 给定单词和文档的 tf idf 较低意味着它不是选择该文档的好单词 停用词是
  • VSTS 构建失败并显示 MSB4184 路径不是合法形式

    我正在尝试使用 VSTS 中的构建系统来构建和部署 c net Web 应用程序 我创建了一个新的单项目解决方案 因为似乎没有任何方法可以指定在多项目解决方案中构建 部署哪个项目 并设置我的构建定义以指向这个新解决方案 我已将其设置为使用
  • java.library.path 中没有字体管理器

    以下代码在我的桌面上运行得很好 BufferedImage image new BufferedImage width height BufferedImage TYPE INT RGB Graphics g image getGraphi
  • 修改 SIR 模型以包含随机性

    我正在尝试通过将真实流行曲线与随机 SIR 模型的模拟进行比较来建立一种估计传染病参数的方法 为了构建随机 SIR 模型 我使用 deSolve 包 而不是使用固定参数值 我想从以原始参数值为中心的泊松分布中绘制每个时间点方程中使用的参数值
  • If 语句不遵循其条件

    在我的滚动代码中 您只需编写 r 然后按 Enter 键 但似乎不会读取该内容并转到重新启动 while 循环的 else 让它滚动的唯一方法是输入除 r 之外的其他内容 而不是 standard in 1 解析错误 bin bash th
  • 模板编译错误 - 没有匹配的调用函数

    我正在尝试将字符串转换为数字 为此 我找到了以下方法 include
  • 是否可以从C语言函数写入word文件?

    我有一个用 C 语言编写的图书馆管理系统 其中有 I O 文件 dat 如何从该函数中获取word文件的输出 void viewbooks void show the list of book persists in library int
  • 为什么如果条件无法比较负整数和正整数[重复]

    这个问题在这里已经有答案了 include
  • gsub的时间复杂度

    一根长绳子s仅包含0 and 1 这段 Ruby 代码计算了有多少个1有 s gsub 1 count Big O 表示法的时间复杂度是多少 有没有一个工具可以进行计算 据我所知 没有一个通用工具可以计算任意代码的 Big O 表示法 这将
  • 错误:数组不得包含空值 PostgreSQL

    我的查询是 SELECT id ARRAY AGG session os integer FROM t GROUP BY id HAVING ARRAY AGG session os integer ARRAY 1 NULL 它正在给予ER
  • 将基类添加到现有原型链中,以便instanceof工作

    我有一个现有的原型层次结构 我想对其进行修改 以便保持层次结构完整 但在其末尾添加了一个额外的原型 instanceof应该对所有原型返回 true 即 假设我有 B gt A 我想将其设为 B gt A gt Base 现在instanc
  • 用几个 1 位 ALU 制作一个 4 位 ALU

    我正在尝试将几个 1 位 ALU 组合成一个 4 位 ALU 我对如何在 VHDL 中实际执行此操作感到困惑 这是我正在使用的 1 位 ALU 的代码 component alu1 define the 1 bit alu componen
  • 如何创建 TimescaleDB Hypertable,并在非唯一时间戳上进行时间分区?

    我刚刚开始使用 TimescaleDB 想要在包含事件的表上创建一个超表 最初我想到遵循以下常规模式 CREATE TABLE event id serial PRIMARY KEY ts timestamp with time zone
  • CSS 叠加在图像背景上

    我想在图像背景上叠加 以便更清楚地看到图像上方的白色文本 为什么不会这个解决方案 http codepen io anon pen aBJErm work HTML div class bg1 image cover p H p div C
  • Django Admin 中的自定义操作

    在我的 Django 应用程序中 我有一个新闻通讯模型 现在我希望能够send时事通讯 甚至resend它 来自 Django Admin 我可以用钩子来做到这一点Model save 方法 但还有另一种与模型无关的方法吗 Thanks 管
  • 使用 HttpClient 的 HTTP 请求太慢?

    我正在尝试编写一个 Android 应用程序 将一些发布值发送到托管在专用服务器上的 php 文件并存储数组结果 代码是这样的 HttpPost httppost DefaultHttpClient httpclient httppost
  • 如何使用 webpack 从 node_modules 加载静态 CSS 文件的示例?

    我不知道如何使用 webpack 从 node modules 库加载任何 CSS 例如我已经安装了 leaflet 以及每次尝试加载leaflet dist leaflet css fails 您能提供如何从node modules加载静
  • 在Java中将资源文本文件读取到字符串[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有办法将资源中的文本文件读入字符串 我想这是一个流行的要求 但在谷歌搜索后我找不到任何实用工具 Y
  • 在哪里放置 Access vba 代码以仅在物理打印时触发?

    我有一些代码想要在用户实际打印报告时触发 不是在打印预览等时 而是仅在发送到打印机时 用户需要能够提取报告并查看它 然后如果他们决定打印 VBA 代码将接管并将一些信息写入与用于生成报告的表不同的表中 我希望不必在实际报告上放置 打印 按钮