【あしらいの作り方】カテゴリー新設!投稿一覧はこちら ▶︎
スポンサーリンク

PowerPointで波線・省略線をグラフやマクロで作る方法

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でジグザグ線や階段をグラフ・マクロで作る方法
PowerPointでジグザグ線(ギザギザ線)の作り方をご紹介します。図形の「フリーフォーム:図形」…