这是我不明白的一个.
鉴于此类模块(剥离到重现崩溃所需的最低限度):
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "TestCrashClass"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public Function Init() As TestCrashClass
Attribute Init.VB_UserMemId = 0
Dim tcc As New TestCrashClass
Set Init = tcc
End Function
Public Property Get Data() As String
Data = "test data"
End Property
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我为什么当我输入以下代码时Excel完全崩溃:
Sub MakeExcelCrash()
With TestCrashClass(
Run Code Online (Sandbox Code Playgroud)
在这一点上,我这个可爱的消息:
即使我输入一个没有违规括号的完整程序然后尝试添加它们,我也会遇到同样的崩溃.
我能让Excel不崩溃的唯一方法是将一组()从其他地方复制/粘贴到这行代码中.
Sub MakeExcelCrash()
With TestCrashClass()
Debug.Print …Run Code Online (Sandbox Code Playgroud) 昨晚我碰到了一些东西,让我疯了十分钟,十五分钟才发现它.但我不明白为什么会这样,所以我希望有人可以解释.
从VBA IDE中的立即窗口:
?Format(0.5, "HH:MM AM/PM")
12:00 PM
?Format("0.5", "HH:MM AM/PM")
12:05 AM
?Format(CDbl("0.5"), "HH:MM AM/PM")
12:00 PM
Run Code Online (Sandbox Code Playgroud)
从这个页面我看到0.5应该对应于12:00 PM,因为一小时是0.04166 ...((12 * (1/24) = 0.5)).正如你所看到的,如果我传递一个数字,Format()但是如果我传递与字符串相同的数字则不会.
根据同一页面的信息,1分钟为0.00069444 ...((1/(24*60))),意味着上午12:05应存储在Excel中为0.003472222((0 * (1/24)) + (5 * (1/(24*60)))).事实上:
?Format(0.003472222, "HH:MM AM/PM")
12:05 AM
Run Code Online (Sandbox Code Playgroud)
更奇怪的是我不明白:
?Format(2.5, "HH:MM AM/PM")
12:00 PM
?Format("2.5", "HH:MM AM/PM")
02:05 AM
Run Code Online (Sandbox Code Playgroud)
但...
?Format(2.523, "HH:MM AM/PM")
12:33 PM
?Format("2.523", "HH:MM AM/PM")
12:33 PM
Run Code Online (Sandbox Code Playgroud)
我在文档中找到的所有内容都表示"时间存储为实数的一部分.小数点右侧的值表示时间.例如,中午(中午12:00)表示为0.5." (来自Excel 2010的内置VBE词汇表)因此,2.5应该导致12:00 PM的时间,因为小数点右边的部分是,0.5并且 …
我正在使用panfrude为 pandoc 编写一个 python 过滤器,以将 Markdown 转换为 Word 文档。通常,pandoc 将 Markdown 标题转换为 Word 的内置样式,称为标题 1、标题 2 等。但是由于我必须使用的 Word 模板的特殊性,我需要将所有 Markdown 标题更改为 Word 中相应的自定义样式,例如标头级别 1 => 标头 1,级别 2 => 标头 2,等等。
这是我为测试过滤器而制作的快速示例 Markdown 文件:
# Heading 1
some text in a paragraph
## Heading 2
a little bit more text down below
Run Code Online (Sandbox Code Playgroud)
本质上,我想转换该 Markdown,就像我写的那样:
<div custom-style="Header1">Heading 1</div>
some text in a paragraph
<div custom-style="Header2">Heading 2</div>
a little bit more text down below
Run Code Online (Sandbox Code Playgroud)
这样,当我跑步时:
pandoc -S test_input.md -o test_output.docx …Run Code Online (Sandbox Code Playgroud)