PowerPointで波線・省略線(なみなみ線・正弦波)の作り方ご紹介します。図形の「曲線」で整った波線を手動で描くのは困難です。
そこで、グラフやマクロを使ってきれいな波線を自動で作りましょう。合わせて、作成した波線を利用して省略線も作ります。
グラフで波線を作る
準備
「挿入」タブ →「図」グループ →「グラフ」をクリックします。
「グラフの挿入」ダイアログボックスが開くので、「散布図」→「散布図(平滑線)」を選択して「OK」をクリックします。
グラフが挿入され、同時にExcelのウィンドウが開きます。Excelの値を変更するとグラフも変動します。
今回はグラフが波線になるように値を入力し、グラフから取り出して利用します。
グラフの右上の「+」ボタンをクリックし、「グラフ要素」のチェックをすべてはずして準備完了です。
Excelに値を入力する
Excelに値を入力し、グラフを波線にします。
「Xの値」は、2行目から12行目までを「0」から1ずつ増やして「10」まで入力します。「Yの値」は、2行目から12行目までを「1、2、1、2、1…」と1と2を交互に入力します。
今回は5波の波線を作る手順で進めますが、値を続けて入力すれば波数を増やすことができます。
- 連続するデータは、Excelの「オートフィル」機能を使うと簡単に入力できます。
値が入力できたらグラフを確認しましょう。
グラフが波線になっていれば成功です。
波線をグラフから取り出す
グラフを「Ctrl + C」キーでコピーした状態で「Ctrl + Alt + V」キーを押し、「形式を選択して貼り付け」ダイアログボックスを開きます。
「貼り付ける形式」から「画像(SVG)」を選択し、「OK」をクリックします。
SVG形式で貼り付きました。
グラフを選択した状態で、「Ctrl + Shift + G」キーでグループ化を解除すると波線が取り出せます。
- グループ化を解除したときに表示されるメッセージは、「はい」を選択します。
省略線を作る
5山の波線を用意し、「高さ:1cm」「幅:10cm」に設定します。
「ホーム」タブ →「図形描画」→「正方形/長方形」を選択します。
長方形を「高さ:3cm」「幅:10cm」で描きます。長方形の前面に波線を上中央揃え(揃え方を参照)、複製した波線を下中央揃えで配置します。
続いて、前の手順で作った2つの波線を「Ctrl + Shift」キーを押しながら下にドラッグして複製します。それぞれの図形の集合を「波線①」と「波線②」とします。
波線①の全体をドラッグしながら囲んで選択し、「図形の書式」タブ →「図形の挿入」グループ →「図形の結合」→「切り出し」をクリックします。
波線①が分割されてバラバラになりました。
波線①の上部の不要な図形を削除します。
波線①を選択した状態で、「図形の書式」タブ →「図形の挿入」グループ →「図形の結合」→「接合」をクリックします。
波線①が結合されて1つの図形になりました。
波線①を「塗り:白」「線:なし」にします。説明のため背景色を変更しています。
波線①と波線②の下の波線を選択して下揃えで配置します。
波線①と波線②を「Ctrl + G」キーを押してグループ化します。
サイズを整えて省略線の完成です。
マクロで波線を作る
PowerPoint VBAを使って波線を作る方法です。
コード
Sub 波線を作成() Dim waveNum As String Dim waveSize As Single Dim freeFormBuilder As freeFormBuilder Dim sld As Slide Dim shp As Shape '波線の山数を入力 waveNum = InputBox("波線の山数を入力してください。") '数値以外が入力された場合はマクロを終了 If IsNumeric(waveNum) Then ElseIf waveNum = "" Then Exit Sub Else msg = "数値を入力してください。" MsgBox msg Exit Sub End If '波線のサイズ waveSize = Round(1 * 720 / 25.4, 1) '選択中のスライド番号を取得 Set sld = ActivePresentation.Slides(ActiveWindow.View.Slide.SlideIndex) '始点の位置 Set freeFormBuilder = sld.Shapes.BuildFreeform(msoEditingCorner, 0, waveSize) '繰り返し処理 For i = 1 To waveNum * 2 'X軸の位置 x = waveSize * i '偶数、奇数の判定 If (i Mod 2) = 0 Then '偶数時のY軸の位置 y = waveSize Else '奇数時のY軸の位置 y = 0 End If '頂点を追加 freeFormBuilder.AddNodes msoSegmentLine, msoEditingAuto, x, y Next i '波線を作成 Set shp = freeFormBuilder.ConvertToShape With shp '線幅 .Line.Weight = 1 '線の色 .Line.ForeColor.RGB = RGB(0, 0, 0) '繰り返し処理 For i = .Nodes.Count To 1 Step -1 '頂点を線分で伸ばす .Nodes.SetEditingType i, msoEditingSmooth Next i End With End Sub
実行結果
実行するとダイアログボックスが開くので、波線の山数を入力して「OK」をクリックします。
指定した山数の波線が作れます。
ジグザグ線を作る
グラフやマクロ使えば、ジグザグ線も自動で描くことができます。
詳細は、次の記事で解説しています。
PowerPointでジグザグ線や階段をグラフ・マクロで作る方法