使用 PowerPoint Interop 获取幻灯片的页眉和页脚
Get headers and footers of slides using PowerPoint Interop
我有一个问题 - 每次我尝试获取不存在的页眉或页脚时,代码都会引发异常 "HeadersFooters (unknown member) : Invalid request. Slides don't have headers."
这很奇怪,因为异常是由行引发的:
if (slide.HeadersFooters.Header != null)
有没有什么方法可以在不使用丑陋的 try-catch 解决方案的情况下摆脱这个问题?
这是我的相关代码示例:
if (slide.HeadersFooters != null)
{
try
{
if (slide.HeadersFooters.Header != null)
{
var slideHeaderText = slide.HeadersFooters.Header.Text.Trim();
if (!string.IsNullOrEmpty(slideHeaderText)) _headersFootersOfDocument.Add(slideHeaderText);
}
if (slide.HeadersFooters.Footer != null)
{
var slideFooterText = slide.HeadersFooters.Footer.Text.Trim();
if (!string.IsNullOrEmpty(slideFooterText)) _headersFootersOfDocument.Add(slideFooterText);
}
}
catch (Exception ex)
{
Console.Writeline(ex);
}
}
正如错误消息指出的那样,幻灯片没有 headers。不能有 headers ... object 模型中没有这样的 object。为避免在访问不存在的 object 时抛出错误,请不要访问它们!
我有一个问题 - 每次我尝试获取不存在的页眉或页脚时,代码都会引发异常 "HeadersFooters (unknown member) : Invalid request. Slides don't have headers."
这很奇怪,因为异常是由行引发的:
if (slide.HeadersFooters.Header != null)
有没有什么方法可以在不使用丑陋的 try-catch 解决方案的情况下摆脱这个问题?
这是我的相关代码示例:
if (slide.HeadersFooters != null)
{
try
{
if (slide.HeadersFooters.Header != null)
{
var slideHeaderText = slide.HeadersFooters.Header.Text.Trim();
if (!string.IsNullOrEmpty(slideHeaderText)) _headersFootersOfDocument.Add(slideHeaderText);
}
if (slide.HeadersFooters.Footer != null)
{
var slideFooterText = slide.HeadersFooters.Footer.Text.Trim();
if (!string.IsNullOrEmpty(slideFooterText)) _headersFootersOfDocument.Add(slideFooterText);
}
}
catch (Exception ex)
{
Console.Writeline(ex);
}
}
正如错误消息指出的那样,幻灯片没有 headers。不能有 headers ... object 模型中没有这样的 object。为避免在访问不存在的 object 时抛出错误,请不要访问它们!