出于某种原因,当我插入日期时,Excel 会强制我使用我的区域作为页脚。但是,当工作表打开时,它也不会自动更新。如果没有格式化,这是一个相当微不足道的问题,但是格式化文本是有问题的,而且我不确定如何解决这个问题,因为所有引号似乎都是强制性的。
Private Sub Workbook_Open()
'you need to get the font to size 6, use calibri, use a light grey #DBDBDB perhaps and use ISO-8601
ActiveSheet.PageSetup.RightFooter = "&""Calibri""&6" & DBDBDB & Format(Now, "yyyy-mm-dd")
End Sub
现在工作表的背景中似乎也有一个数字。
答案1
经过多次尝试和失败,我终于找到了这个sub
,你可以将相关部分粘贴到你自己的代码中。如你所见,我使用Chr(34)
双引号代替双引号来构造字符串,因为我认为这会增加可读性,但这只是个人喜好。此外,你会注意到我将存储string
在一个变量中,这不是绝对必要的,但当你想在调试消息中使用它时会很有帮助,就像我在中所做的那样sub
。我发现在这种情况下,能够看到的样子会有所帮助string
,因为跟踪所有引号可能有点困难,正如你已经注意到的那样。
我不能完全确定您在自己构建字符串时哪里出了问题,但似乎在定义字体颜色的区域周围缺少一些引号,以及&K
需要在其十六进制值之前添加的引号。
作为参考,我使用了这个 MSDN 页面帮助找到页眉和页脚的正确格式代码。
Private Sub test()
'you need to get the font to size 6, use calibri, use a light grey #DBDBDB perhaps and use ISO-8601
Dim s As String
s = "&" & Chr(34) & "Calibri" & Chr(34) & " &6 &KDBDBDB " & Format(Now, "yyyy-mm-dd")
ActiveSheet.PageSetup.RightFooter = s
Debug.Print s
End Sub