VBAの俳句出力プログラムを、PowerPointに移植してみました。

By | Date : 2015/02/28 ( Last Update : 2016/05/24 ) | 367 views

Nia-TN-SDF-A2

こんにちはー!ニアです。

前回作成した「WordのVBAで俳句を出力するプログラム」(→ 開発記事)をPowerPoint用に移植してみました。

 

1. まずはテキストボックスに

まず、PowerPointのスライドに縦書きのテキストボックスを追加して、その中に俳句を入れてみます。

 

9行目のActiveDocument.Slides.Item(1)(Itemを省略してSlidesに直接インデックスを指定してもOK)で1枚目のスライドオブジェクトを取得して、そこからはWordのVBAと同じく、Shapes.AddTextboxでテキストボックスを追加します。もちろん、縦書きにする時は、第1引数をmsoTextOrientationVerticalFarEastに指定します。

スライドの高さや幅を取得したい時は、[スライドオブジェクト].Masterでスライドマスターのオブジェクトを取得して、Height、Widthプロパティを呼び出します。

※スライドマスターとはスライド内部の色や書式、レイアウトを管理している設計図みたいなものです。

あとは、追加したテキストボックスに俳句を設定するのですが、Wordと違ってSelection経由からアクセスできないので、代わりに[テキストボックス].TextFrame2.TextRange.Characters経由でアクセスします。

もう1つ気を付けるのが、テキストボックスのフォント設定する時には.Font.Nameでなく、.Font.NameFarEastにフォント名を設定します。.Font.Nameではなぜかフォントが変化しないので・・・。

 

参考:Excel 2007 のテキスト ボックスで使用するフォントの種類をマクロで変更できない | Microsoft サポート

この資料ではExcel 2007用のですが、おそらくOffice 2007からテキストボックスの仕様が変わったのかな。

 

実行すると、こんな感じです。

vba04

 

2. せっかくなのでデコレーションしてみましょう

これだと、ちょっと寂しいので、スライドをデコレーションしていきます。

※このプログラムは https://gist.github.com/Nia-TN1012/99306aeaa7eabcc24317 で公開されています。

 

20行目で、[スライドオブジェクト].Layoutに「ppLayoutBlank」を設定します。ppLayiut・・・とはスライドのレイアウトを表していて、「ppLayoutBlank」はコンテンツが何もない白紙、他にタイトルスライドの「ppLayoutTitile」やタイトルとコンテンツの「ppLayoutObject」など色々ありますよ。

21行目では、BackgroundStyleを「msoBackgroundStylePreset4」に設定して、色を黒地・白文字にします。msoBackgroundStylePresetは名前の通り、スライドの背景のスタイルのプリセットを表しています。

vba04b

 

24行目では、背景画像を読み込んで、スライドに画像を張り付けていきます。ファイル名は絶対パスで入力する必要があります(相対ファイルではダメでした)。ここでは画像ファイルをあらかじめ現在のプレゼンテーションファイルと同じフォルダに入れておき、ActivePresentation.Pathで現在のプレゼンテーションファイルのディレクトリを取得しています。

なお、Visual Basicではエスケープ文字が「\」でなく、「”」なので、ファイルの区切り文字はそのまま「\」1つで大丈夫ですよ。

このプログラムでは、以下の画像を使用しています。歌舞伎の定式幕風にしてみました。

定式幕

 

あとは、テキストボックスを追加して俳句を入れるだけですが、ついでに作者用のテキストボックスも追加してみました。テキストボックス内の文字列を寄せる時は、.ParagraphFormat.Alignmentの値を設定します(1は左寄せ2は中央3は右寄せです)。

いよ~っ!ポン!

 

3. 俳句カードを作りませんか

前回のHaiku-word3.vbのように、俳句を入力できるユーザーフォームを用意していきたいと思います。

※このプログラムは https://gist.github.com/Nia-TN1012/99306aeaa7eabcc24317 で公開されています。

 

スライドを画像として保存する時は、Exportで出力先のファイル名と画像の形式、縦と横の大きさ(ピクセル単位)を指定します。

このプログラムを実行し、俳句と作者名を入力して、「俳句作成」ボタンを押すと、俳句カードの出来上がりです。

 

4. おわりに

このプログラムをGistにアップした時、ページが上手く推移しないので、アップされていないのかなと思い、Gist作成ボタンを押し過ぎてしまい、私のアカウントを一時的にSuspendさせてしまいました(現在は復帰しています)。ご迷惑をおかけして、ごめんなさい。気を付けますね。

 

それでは、See you next!

 

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : ニア(Nia)

紅茶とコーヒーが好きな湘南生まれのプログラマー/ITエンジニアです。主にC#/C++/PHPを使ってプログラミングをしています。趣味は写真撮影と音ゲーです。時々イラストを描いています。プログラミングを勉強している方々と仲良くなりたいです! 興味を持っている分野:UWP/Xamarin/Android Wear/WPF/Windows/Visual Studio/WordPress/KUSANAGI/nginx

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*