首页
学习
活动
专区
圈层
工具
发布

VBA: Excel备份文件窗口隐藏问题:原因、修复与预防

文章背景: 在使用VBA的SaveCopyAs方法创建Excel工作簿备份时,曾经遇到过一个奇怪的现象:备份文件可以正常打开,但只能看到空白的Excel窗口,工作表内容完全不可见。...activeTab="1" xr2:uid="{00000000-000D-0000-FFFF-FFFF00000000}"/> 关键问题参数: visibility="hidden":窗口设置为隐藏状态...xWindow="-110", yWindow="-110":窗口位置在屏幕可见区域之外 这种配置导致文件打开时窗口不可见 当原始工作簿窗口处于隐藏或异常状态时,SaveCopyAs方法会捕获并保存这种异常状态到备份文件中...修复方案:VBA代码修复备份文件 对于已经生成的异常备份文件,可以使用专门的VBA修复工具: Sub RepairXLSMFile() Dim filePath As String..., vbCritical EndIf End Sub 预防方案设计要点 状态保存与恢复:备份前后保存和恢复窗口状态,不影响用户当前操作体验 强制正常化:在备份前确保窗口处于可见、正常状态 时间延迟

10010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA应用技巧:使用VBA快速隐藏工作表行

    标签:VBA 使用Excel VBA隐藏行的简单方法是使用联合区域。通常,如果要使用VBA快速隐藏行,可以选择自动筛选工具,使用一行代码可快速隐藏数千行。...如果了解VBA,当程序必须在多个单元格上循环时,它可能会较慢,尤其是在每次迭代后需要执行操作时。...假设列A中包含有“Hide”和“Show”,其中显示为hide的行将被隐藏,显示为show的行将可见,如下图1所示。 图1 隐藏行的程序需要设置起点、终点,然后设置从起点到终点的循环。...然后,我们使用联合区域隐藏所有含有“Hide”的行。...最后,在遍历和If语句完成后,该过程将一次性隐藏联合区域,然后该过程结束。 JoinR.EntireRow.Hidden = True 通过一次隐藏行,而不是一行一行地隐藏,节省了大量时间。

    6K31

    Chrome下的打开新窗口

    一般点击打开新窗口,有几种方式: 1、超链接a  有href属性、target为_blank 2、iframe,其target为_blank 3、window.open 4、form表单提交,同样target也必须设为_blank 现在遇到一个需求: 做了一个后台运维管理系统,在点击datagrid头部一个按钮,需要打开一个新窗口...因为extjs运行效率比较低,所以选择使用chrome访问系统,而在操作些按钮的时候发现很多很奇特的现象,这些现象只出现在chrome中: 1、打开一个窗口后,些窗口不关闭,将无法打开多个窗口,即使原有窗口关闭...,就是弹出的窗口是没有工具栏和地址栏的,且不在新选项卡中打开 后来搜索到一篇文章,有所启发,就有了如下的代码: var nwin = window.open(); nwin.location = ‘xxxx...’;//需要打开的地址 如果使用ajax请求地址后面的参数的话,需要将ajax改为同步,不然弹出的窗口会在新窗口中打开,而且没有工具栏和地址栏的

    4.6K30

    解除chrome地址栏隐藏内容

    你依然可以使用第三方插件解除隐藏:https://chrome.google.com/webstore/detail/suspicious-site-reporter/jknemblkbdhdcpllfgbfekkdciegfboi...效果演示 新版chrome地址栏的亚子onyi.net 解除之后的亚子:https://www.onyi.net/ 简介 chrome这一举动引起了很多用户的抗议,因为隐藏过多的元素容易导致不清楚网站是否访问正确...m.前缀并不会隐藏,但是普通用户反倒希望chrome隐藏这个内容。 方法 如果你是开发者,或者你很排斥这个不大行的亚子,你可以根据忆梦小站的方法,让地址栏变回原来的亚子。...1)在chrome地址栏输入:chrome://flags/#omnibox-ui-hide-steady-state-url-scheme-and-subdomains(注意,可以复制粘贴,但是右键无法访问...Steady-State URL Schemeps:解除隐藏http(s) 5)状态改为:Disabled 6)重启chrome 然后你的地址栏就会变回原来的亚子了。 ​

    3.1K30

    Chrome插件开发之隐藏页面图片

    这是本人第二次开发Chrome插件,本次开发主要两个目的,第一是练习Chrome插件开发时各个页面(沙盒)之间的消息传递,第二是在办公室看某些网站不想打开图片(你懂得。。。)...首先分析一下,在上一次开发Chrome插件开发之制作豆瓣电台歌词,我们主要使用pageAction和content_script,但是chrome的browser action插件最主要的background...而我们这次的消息传递有点击popup.html里隐藏或显示按钮时,将状态传递给content script,content script将页面所有图片隐藏并且把状态传给background.js,永久保存起来...剩下的消息传递还有,web page加载时根据当前用户的设置决定是否显示图片,这里我做的并不是很好,因为我一开始只是把img的display改成none,这确实能使图片隐藏,但是图片还是会加载到页面来,...只是一瞬间又被隐藏起来,后来我索性把src也改了,但仍然不能解决该问题,我在这里向各位大神请教一下,能否拦截所有图片的加载来实现隐藏图片,还有对于通过JavaScript动态插入的img节点我也没办法隐藏

    2.7K31

    Windows 程序隐藏启动黑窗口总结

    前言 Windows 控制台程序在启动时会出现一个黑(dos)窗口,一般我们想要隐藏有两种方式,一是转成窗口(Windows GUI)程序,二是使用Windows API 隐藏,这里对不同种方式隐藏黑窗口的效果和优缺点进行了总结...二、通过 API 隐藏窗口 优点:相比于直接将控制台程序转成窗口程序隐藏窗口,通过 API 方式隐藏更隐蔽,同时报毒也更低 缺点:使用 API 隐藏的行为特征也会更为明显,且不同的 API 隐藏方式的行为特征也不同...FreeConsole 函数 执行如下代码即可,使用起来简单粗暴: FreeConsole(); 使用这个 API 隐藏窗口最为快速,dos 窗口一闪而过,之后就被隐藏了。...函数,隐藏效果要慢很多,而且容易出现隐藏到错误的窗口。...最后 一般场景下推款将程序转为窗口程序隐藏黑窗口,特殊场景如果不得不使用控制程序,较为推款使用最后一种方式创建子进程隐藏黑窗口。

    1.9K10

    WPF 在 Alt+Tab 隐藏窗口

    最近在开发一个 Toast 窗口,因为这个窗口不能在显示之后关闭,因为可能用户会不停让窗口显示,所以只能 Hide 。...但是这样会在 切换窗口看到这个窗口,所以我找到了一个方法来让 WPF 窗口不在切换窗口显示。...设置方法可以是在 xaml 添加下面代码 ShowInTaskbar="False" Visibility="Hidden" 但是如大家见到,如果存在 BitmapCache 和 一个隐藏的窗口,那么就会在锁屏之后软件无法渲染...实际上在切换窗口不显示窗口要求窗口是:WS_EX_TOOLWINDOW 或其他窗口的子窗口,但是可以看到 Toast 不是其他窗口的子窗口,所以只能设置窗口。...InitializeComponent(); Loaded += ToastWindow_Loaded; } 然后在 Load 里面使用隐藏窗口的代码

    3.5K30

    VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

    例如,下面的示例XML代码和在标准VBA模块中的代码在运行时满足某条件时隐藏(和取消隐藏)“对齐方式”组: ? customUI元素包括带有Initialize回调过程的onLoad属性。...如果活动工作表不是标准工作表,就隐藏该组,否则该组可见。 注意,当打开工作簿时,创建ribbon对象。编辑VBA代码可能销毁这个新创建的对象。...与隐藏(和取消隐藏)内置组相似,可以在运行时当满足某条件时动态地隐藏(和取消隐藏)内置选项卡。例如,运行时当满足某条件时,下面的示例XML代码和VBA代码可以隐藏(和取消隐藏)“开始”选项卡: ?...在标准VBA模块中的VBA代码: Public myRibbon As IRibbonUI 'Callback for customUI.onLoad Sub Initialize(ribbon As...在标准VBA模块中的VBA代码: Public myRibbon As IRibbonUI 'Callback for customUI.onLoad Sub Initialize(ribbon AsIRibbonUI

    10.5K20

    Excel VBA常用功能加载宏——工作表隐藏

    有些时候制作的表格,一些基础的设置数据可能不希望使用者看到并被修改掉,这个时候一般可能会选择把表格隐藏起来。 工作表的隐藏很简单,只需要右键点击工作表名称,然后点击隐藏就可以。...但是取消隐藏也差不多,右键点击后,选择某个工作表名称。 这种基本的操作,大多数人Excel用过一段时间的应该都会,所以保证不了其他人不会发现隐藏起来的表格。...其实Excel里还有一个深度的隐藏,这种隐藏后,右键点击取消隐藏是看不到的,这样应该就能瞒过大多数人了。...这个可以通过VBA代码编辑器里的属性窗口,设置工作表的Visible属性为xlSheetVeryHidden来实现,当然使用VBA来设置肯定就更为方便快捷了: ?...在设置当前工作表隐藏的时候,需要判断工作簿是否还有其他的可见工作表,否则会报错。

    3.5K30

    VBA: 隐藏模块中出现编译错误:的解决对策

    1 此错误的原因和解决方案 此错误的原因: 当受保护(隐藏)的模块内的 VBA 代码中存在编译错误时会引发此错误。由于模块是受保护状态,因此不会公开具体的编译错误。...(2)如果没有访问文档中 VBA 代码的权限,请与文档作者联系,让作者更新隐藏模块中的代码。...3 VBA工程密码破解 当受保护(隐藏)的模块内的 VBA 代码中存在编译错误时,由于模块是受保护状态,因此不会公开具体的编译错误。此时,需要取消对该模块的保护。...OriginProtect As Long Hook = False 'VBE6.dll调用DialogBoxParamA显示VB6INTL.dll资源中的第4070号对话框(就是输入密码的窗口...参考资料: [1] 隐藏模块中出现编译错误:(https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help

    17.3K11
    领券