小编Off*_*Dev的帖子

Excel 2016在保存错误时触发撤消?

Excel 2016似乎在保存时触发以编程方式添加的撤消级别,这在早期版本的Excel(2013,2010和2007)中不会发生.若要重现此明显错误,请打开一个新工作簿并将其另存为启用宏的工作簿(.xlsm文件).将以下代码粘贴到ThisWorkbook模块中:

Option Explicit
Public WithEvents App As Application
Private Sub Workbook_Open()
    Set App = Application
End Sub
Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Application.OnUndo "foo", "modTest.Undo"
End Sub
Run Code Online (Sandbox Code Playgroud)

然后,插入一个名为的新模块modTest并粘贴以下代码:

Public Sub Undo()
    MsgBox "This is the Excel 2016 bug."
End Sub
Run Code Online (Sandbox Code Playgroud)

最后,保存工作簿并重新打开它.在任何单元格中输入任何值以触发Application.SheetChange事件.保存工作簿(由于某种原因,您可能需要执行此操作两次),并且modTest将显示消息.

任何人都可以解释这里可能会发生什么,和/或如何解决这个问题?如果这确实是一个错误,向Microsoft报告的最佳方式是什么?

这段代码是VBA,但由于这个问题影响用VB.NET和C#编写的VSTO加载项,我也包括这些标签.

c# vb.net excel vba excel-vba

13
推荐指数
1
解决办法
534
查看次数

PC从睡眠中唤醒时,计时器会发生什么?

我有一个用于Office应用程序的COM加载项,它使用一个每30分钟在后台执行一次操作

System.Timers.Timer
Run Code Online (Sandbox Code Playgroud)

此后台操作通过Internet连接执行用户身份验证,并且我有一些用户的报告,当他们的PC从睡眠状态唤醒时,身份验证失败.我自己无法重现这种行为,所以我的理论是,当PC唤醒时,后台操作在恢复与Internet的连接之前执行(可能是当PC进入睡眠状态时,Windows关闭了连接).

一般情况下,如果一台PC在一段时间不活动后进入睡眠状态,当PC唤醒时会发生什么Timers?例如,Timer睡眠时暂停,然后在PC唤醒时以设定的间隔恢复(例如,如果TimerPC进入睡眠状态的时间间隔为10分钟,则Timer.Elapsed事件在PC唤醒后20分钟才会激活)?Timer.Elapsed事件是否排队,以便在PC唤醒时立即触发?Windows会Timer在PC进入睡眠状态时停止吗?或者,Timer在PC休眠时继续运行,但由于Internet连接中断(可能),后台操作无法执行用户身份验证?

c# vb.net multithreading timer

9
推荐指数
1
解决办法
726
查看次数

在Windows 7中保存Excel加载项

我有一个Excel加载项,我正在开发,在Windows XP中工作正常.但是,我刚刚掌握了Windows 7 Professional,现在我无法通过VBA编辑器手动或以编程方式使用来保存此加载项ThisWorkbook.Save.

错误消息说

"Micrsosoft Office Excel无法访问文件'C:\ Program Files\Microsoft Office\Office 12\LIBRARY [一些随机的8个字符的字符串而不是我的加载项的名称]".

此对话框错误的可能解释之一是"文件名或路径不存在".嗯,当然不是.

我尝试关闭加载项文件及其目录的只读,以及使用"属性"对话框"解锁"文件(似乎是新的Windows 7功能),但无济于事.

如何在Windows 7中使用此基本保存功能?

excel vba uac excel-vba windows-7

2
推荐指数
1
解决办法
1万
查看次数

如何在 VB.NET 中压缩文件/目录?

我想在 VB.NET 中压缩一个包含文件和子文件夹的文件夹。我的解决方案针对 .NET 4.0 Client Profile。

我看到 .NET 4.5 有一个 ZipFile 类,.NET 4.0 有一个 System.IO.Packing 类(但不是客户端配置文件)。所以,那些都无济于事。我注意到还有一个 GZipStream 类,但我从来没有看到 .gz 文件四处浮动,所以不确定这是否是一个好方法。我更喜欢我知道我的用户可以使用的基本 .zip 文件。

有一些第三方解决方案,例如http://icsharpcode.github.io/SharpZipLib/,但我认为它们比我正在寻找的 10-20 行代码要臃肿得多。也许这是正确的答案...我不知道。

只是希望几行 VB.NET 代码可以在针对 .NET 4.0 CP 的解决方案中压缩一些文件。

.net c# vb.net zip

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×3

vb.net ×3

excel ×2

excel-vba ×2

vba ×2

.net ×1

multithreading ×1

timer ×1

uac ×1

windows-7 ×1

zip ×1