【发布时间】:2021-04-27 16:53:27
【问题描述】:
我目前正在尝试为 Excel 工作簿实现一些自动化。其中一部分是为该工作簿中的所有工作表设置一个通用标题。
标题应如下所示: Screenshot of the aimed header style and content
我在这里找到了question (52295459) 如何访问标题,但我没有设法格式化它们。代码 sn-p 附在下面。我阅读了footerHeader class 和参考format codes 的文档。但我被困住了。
所以,这些是我的问题:
- 是否可以以更通用的方式为工作簿中的所有工作表设置标题,而不是通过
getItem及其名称访问每个工作表? - 如何将字体颜色更改为#5E5E5E?
我试过
&5E5E5E,&c5E5E5E,&color5E5E5E,&#5E5E5E,&K5E5E5E,&K"5E5E5E"- 但没有任何效果。 编辑:我想更改标题部分的颜色。 - 我只需要调整表头的中间部分,可以保留左右部分的内容。但是,如果左右部分不为空,则我在中心部分指定的任何内容都将附加到右侧部分的末尾(attached string "center" wrongfully to right section)。有没有办法保留左右部分,只改变中间部分?
- 如果不是:如何将徽标作为图像插入并格式化它的高度/宽度?
到目前为止代码的工作部分:
//An array with the names of my wokrsheets
const worksheetNames : string[] = ["Titelseite", "GewerkeModule", "Statusanzeige", "Verteilerliste"];
//Access header of each sheet individually
for (const sheet of worksheetNames) {
const headerFooter : Excel.HeaderFooter = context.workbook.worksheets
.getItem(sheet)
.pageLayout
.headersFooters.defaultForAllPages;
//Set the strings for the header sections,
// in which also the formatting should be contained (I guess)
headerFooter.centerHeader = "center";
headerFooter.leftHeader = "left";
headerFooter.rightHeader = "right"
}
已经感谢您的帮助! 亲切的问候
更新: 我试图再次解决我的问题,实际上我也无法再重现问题 3。我不知道为什么以及我改变了什么。 通过打印出当前的标题字符串,我至少发现了标题颜色的格式。
所以,总结一下,我的问题的答案:
-
没有在所有工作表中设置标题的通用解决方案 - 感谢您向 Rita 澄清。 但是:循环遍历所有工作表的解决方案似乎有效(请参阅我上面的代码)
-
这会将颜色设置为浅灰色,并在第三行中包含“第 X 页,共 y”部分。 但是:这些简码(&Z、&S、&A)与微软引用的格式代码无关。我猜这些是德语格式代码,因为我的 Excel 安装设置为德语。但是,如果不同的语言设置需要不同的代码,那会很烦人吗?
context.workbook.worksheets.getItem(sheet).pageLayout.headersFooters.defaultForAllPages.centerHeader = "&Z&M01+043Heder Line1 \nNextLine\nPage &S of &A"&Z将输出居中(“zentrieren”)&M01+043似乎将字体颜色设置为浅灰色\n换行&S当前页码(“Seite”)&A所有页面总数 -
我也无法再重现该错误。魔法?好像和格式化有关……
-
尚未实施 - 再次感谢 Rita
【问题讨论】:
-
这篇文章包含很多问题,因此可能很难评价社区的答案。我建议将这个问题分成多个问题。
-
基本页眉/页脚设置见这里 --> stackoverflow.com/questions/52295459/…
标签: javascript excel office-js excel-addins