问题标签 [vba]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
19794 浏览

vba - 使用 Excel PrintOut 方法时如何防止打印对话框

当我使用 PrintOut 方法将工作表对象打印到打印机时,即使我设置了 DisplayAlerts = False,也会显示“打印”对话框(显示文件名、目标打印机、打印的页面和取消按钮)。下面的代码在 Excel 宏中工作,但如果我在 VB 或 VB.Net 应用程序中使用此代码(使用 Excel 对象所需的参考更改),也会发生同样的事情。

编辑:下面的答案更清楚地说明了这一点(它可能是 Windows 对话框而不是 Excel 对话框),但没有回答我的问题。有谁知道如何防止它被显示?

编辑:谢谢你的额外研究,凯文。看起来很像这就是我所需要的。只是不确定我想盲目地接受这样的 API 代码。是否还有其他人对这些 API 调用有任何了解,并且他们正在做作者声称的事情?

0 投票
9 回答
521507 浏览

vba - 在 VBA 中删除文件

使用 VBA,我该如何:

  1. 测试文件是否存在,如果存在,
  2. 删除它?
0 投票
3 回答
9847 浏览

vba - 尝试控制另一个数据库时出现间歇性错误

我有以下代码:

我正在尝试的问题是一个弹出窗口,告诉我 Access 无法将焦点设置在其他数据库上。从代码中可以看出,我想在另一个 mdb 中运行一个 Subroutine。任何其他方式来实现这一点将不胜感激。

我正在使用 MS Access 2003。

这是一个间歇性错误。由于这是每月仅运行一次的生产代码,因此极难重现,我目前无法为您提供确切的文本和编号。这是发生这种情况的第二个月。

我怀疑当有人使用这个或其他数据库时可能会发生这种情况。

数据流是每月在一个数据库中更新一次所有“项目”,然后在另一个数据库中提供此信息。

也许是因为 'Routines' 代码中的第一行: If vbNo = MsgBox("Do you want to update?", vbYesNo, "Update") Then Exit Function End If

我将制作另一个没有 MsgBox 的子程序。

我已经能够重现这种行为。当焦点必须转移到被调用的数据库时会发生这种情况,但用户将焦点 ([ALT]+[TAB]) 设置在第一个数据库上。“解决方案”是教育用户。


这是一个间歇性错误。由于这是每月仅运行一次的生产代码,因此极难重现,我目前无法为您提供确切的文本和编号。这是发生这种情况的第二个月。

我怀疑当有人使用这个或其他数据库时可能会发生这种情况。

数据流是每月在一个数据库中更新一次所有“项目”,然后在另一个数据库中提供此信息。

也许是因为 'Routines' 代码中的第一行: If vbNo = MsgBox("Do you want to update?", vbYesNo, "Update") Then Exit Function End If

我将制作另一个没有 MsgBox 的子程序。


我已经在我们的开发数据库中尝试过这个并且它有效。这并不意味着任何其他代码在开发中也可以正常工作。

0 投票
10 回答
574295 浏览

excel - 使用宏刷新我的 excel 工作簿中的所有数据透视表

我有一个包含 20 个不同数据透视表的工作簿。有什么简单的方法可以找到所有数据透视表并在 VBA 中刷新它们?

0 投票
14 回答
363945 浏览

excel - 如何找到包含特定列中数据的最后一行?

如何找到包含特定列和特定工作表中数据的最后一行?

0 投票
5 回答
4555 浏览

java - java代码的等效vb代码

谁能告诉我这段Java代码到底是做什么的?


逐步解释将很有用,以便我可以在 VB 中重新创建此代码。谢谢

0 投票
5 回答
1704 浏览

sql - 在 Microsoft Access 中创建只能按某些字段搜索的数据库

您将如何在 Microsoft Access 中创建一个只能由某些字段搜索并由表单上的几个(必要的)文本框和复选框控制的数据库,以便易于使用 - 没有困难的查询?

Example: You have several text boxes and several corresponding check boxes on a form, and when the check box next to the text box is checked, the text box is enabled and you can then search by what is entered into said text box

(其实我已经知道了,只是在玩stackoverflow jeopardy,我问一个问题我知道答案只是为了增加世界的编码知识!答案在大约5分钟内出现)

0 投票
9 回答
116340 浏览

vba - 遍历 Excel VBA 或 VSTO 2005 中的所有单元格

我需要简单地浏览 Excel 电子表格中的所有单元格并检查单元格中的值。单元格可能包含文本、数字或空白。我不太熟悉/不习惯使用“范围”的概念。因此,任何示例代码将不胜感激。(我确实尝试用谷歌搜索它,但我发现的代码片段并没有完全满足我的需要)

谢谢你。

0 投票
4 回答
1685 浏览

vba - MS Word:为“选择性粘贴..无格式文本”选项创建快捷方式或工具栏按钮

我已经玩了一段时间了,但我得到的最接近的是一个打开Paste Special对话框的按钮,需要再单击几次鼠标才能将剪贴板的内容粘贴为未格式化的文本。

所以我经常copy-paste从一个网站到一个我不想要 HTML 格式的额外包袱的文档,如果能够使用快捷键或工具栏按钮来做到这一点会很好。

0 投票
3 回答
2176 浏览

ms-access - 在 2003 年和 2007 年运行 Microsoft 访问数据库有什么影响?

在 2003 年和 2007 年运行 Microsoft Access 数据库有什么影响?

有什么课我忘了上吗?

该程序最初是在 Office 2003 中构建的,然后在 2007 年运行。当运行它的机器上同时具有 2003 和 2007 时,似乎会发生问题。该问题似乎也源于对“Microsoft Access 12.0 Object Library”(或 2003 年的“Microsoft Access 11.0 Object Library”)的引用。要看到这一点,只需查看 VBA 屏幕上的工具:参考菜单。

该错误的症状基本上是无法识别代码(几乎就像它无法识别我正在使用的编程语言一样)。它通常在此之后带有一个框,上面写着“您作为事件属性设置输入的加载时表达式产生了以下错误:对象或类不支持事件集”。您还可以将“On Load”替换为按钮的“On Click”或文本框的“On Change”。

我个人怀疑计算机正在使用 Microsoft Access 11.0/12.0 对象库的一部分,然后将两者混合成一个无用的 VBA 引用。进一步证实了我的怀疑是在两者之间弹出的框,上面写着“配置 Microsoft Access” 另一个进一步证实我怀疑的问题是它将在首先打开的任何一个(例如 2007 年)上运行,然后不在另一个上运行(2003 继续示例)

唯一的另一个问题是我必须解决的问题是更改 DoCmd.OpenForm 的最后一部分 ,,,,, acFormReadOnly (或 acReadOnly,取决于机器在那一天的感觉 - 是的,它可以与一个一起工作,有一天,然后要我再切换一次)以简单地锁定单个文本框

也许它不是完全编码,但我认为它可能可以通过编码来修复。

希望这足以让某人想出一些东西。