Excel 运行时错误'-2147024809(80070057)和#x27;指定的值超出范围

Excel 运行时错误'-2147024809(80070057)和#x27;指定的值超出范围,excel,vba,powerpoint,Excel,Vba,Powerpoint,我正在尝试使用VBA格式化PPT幻灯片中的文本框;通过从Excel文件中获取文本框属性(如字体名称、对齐方式等)的输入值 Select Case Shp_new.Type Case MsoShapeType.msoTextBox Shp_new.TextFrame.TextRange.Font.Name = "" & textboxrange.Cells(1, 1).Value &am

我正在尝试使用VBA格式化PPT幻灯片中的文本框;通过从Excel文件中获取文本框属性(如字体名称、对齐方式等)的输入值

Select Case Shp_new.Type
              
         Case MsoShapeType.msoTextBox      
            Shp_new.TextFrame.TextRange.Font.Name = "" & textboxrange.Cells(1, 1).Value & ""
            Shp_new.TextFrame.TextRange.ParagraphFormat.Alignment = textboxrange.Cells(1, 4).Value 

End Select                                                                                   

但是,它为文本对齐属性抛出了以下错误“运行时错误”-2147024809(80070057)“指定值超出范围”,而且仅当文本对齐的值为“-2”时

输入excel文件中的文本对齐值如下:0,1,2,3,4,-2 Excel文件中的这些值由以下代码生成

Shp_new.TextFrame.TextRange.ParagraphFormat.Alignment
从下面的帖子中,我能够理解值的对齐类型:0,1,2,3,4 但根据文件,没有此类对齐类型'-2'。 不知道为什么它给了我一些文本框-2的值

我觉得既然没有这样的对齐类型-2,这就给我带来了一个错误

但不确定该错误的确切原因。在这方面需要帮助“混合”对齐不是一个特别明确的说明。它的含义来自安装的语言。换句话说,如果你使用的是一种说明有意义的语言,你就可以使用它。反向工程,如果它不适合你,在你工作的语言中就没有意义

参考微软的解释,我在下面为您复制了简短的解释


“根据您选择或安装的语言支持(例如,美国英语),上面列出的某些常量可能对您不可用。”

-2是有效值。它表示“混合”对齐。哦,糟糕,我在查看文本对齐值。感谢您共享doc@Porcupine911。好的,既然它是一个有效值,那么您是否知道它是导致此错误的原因。只有在excel中遇到值=-2时,它才会抛出错误。虽然“mixed”是一个有效值,但我认为问题是您无法指定“mixed”对齐,因为据我所知,它并不意味着任何具体的东西。因此,PPT对此错误进行了投诉。-2/Mixed告诉您所讨论的文本应用了几个不同的属性(例如,它可能有几个不同的字体/粗体/等等)。不过,指定Mixed毫无意义。尽管这篇文章适用于Word中的段落对齐,而不是Excel或PowerPoint,但大多数选项都是类似的。请注意,它不包括混合作为您可以指定的属性之一。这不是安装的语言有错的问题,而是事实上,Mixed是一个只读属性,尽管它并没有这样显示。