Microsoft Office Interope アセンブリを使用して、c# を使用して .pptx および .ppt ファイルから機能を抽出しています。形状、アニメーションに関する詳細を抽出することはできましたが、ppt または pptx がどの種類の箇条書きで構成されているか、またはどのスライドに箇条書きが含まれているかなどの詳細を抽出することはできませんでした。
これを見つけるのを手伝ってください。前もって感謝します。
Microsoft Office Interope アセンブリを使用して、c# を使用して .pptx および .ppt ファイルから機能を抽出しています。形状、アニメーションに関する詳細を抽出することはできましたが、ppt または pptx がどの種類の箇条書きで構成されているか、またはどのスライドに箇条書きが含まれているかなどの詳細を抽出することはできませんでした。
これを見つけるのを手伝ってください。前もって感謝します。
いくつかの方法があります。以下のコードでは、プログラムでアクセスできるテキストのプロパティを確認できます。
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.Type =
Office.MsoBulletType.msoBulletNumbered;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.Style =
Office.MsoNumberedBulletStyle.msoBulletAlphaLCParenBoth;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.StartValue = 4;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.UseTextColor =
Office.MsoTriState.msoTrue;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.UseTextFont =
Office.MsoTriState.msoTrue;
ここで、ppTextBoxはシェイプオブジェクトであり、TextFrameではなくTextFrame2を使用していることに注意してください。ParagraphFormat.Bullt.Typeを列挙リストOffice.MsoBulletTypeに対して問い合わせて、どちらが適用されているかを確認できます。
詳細については、このページで、C#を使用したPowerPointでのテキスト処理の詳細を確認してください。
VBA では、次のようにしてスライド 1 の箇条書きを調べます。
Dim oSh As Shape
Dim x As Long ' Integer in C#?
For Each oSh In ActivePresentation.Slides(1).Shapes
With oSh
If .HasTextFrame Then
If .TextFrame.HasText Then
With .TextFrame2.TextRange
For x = 1 To .Paragraphs.Count
Debug.Print .Paragraphs(x).ParagraphFormat.Bullet.[Various properties]
Next
End With
End If
End If
End With
Next
PPT VBA エディターでコードを見てください。上記の Bullet の後にドットを入力すると、IntelliSense によって利用可能なプロパティが表示されます。