使用 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 时抛出错误,请不要访问它们!