Tipsカテゴリ
プログラムTips ※Tips一覧はこちら
 
■ OpenOffice で作る顧客名入りパンフレット(3) (2007/06/05)

さて、今度はパンフレットへのセールストークの入力ですが、これはプログラムでやってみることにします。
メニューの「ツール」-「マクロ」-「マクロの管理」-「OpenOffice Basic」を選択すると下記のような画面になります。Img22

「編集」をクリックしてBasicが入力できる画面を開く。Img23

Sub Mainに、下記を入力します。

Sub Main

  Dim DatabaseContext As Object   
  Dim DataSource As Object
  Dim Connection As Object
  Dim InteractionHandler As Object
  Dim Statement As Object
  Dim ResultSet As Object
  Dim Statement2 As Object

  DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
  DataSource = DatabaseContext.getByName("顧客パンフレット")

  If Not DataSource.IsPasswordRequired Then
    Connection = DataSource.GetConnection("","")
  Else
    InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
    Connection = DataSource.ConnectWithCompletion(InteractionHandler)
  End If

  Statement = Connection.createStatement()
  ResultSet = Statement.executeQuery("SELECT ""顧客名"", ""顧客フラグ1"", ""顧客フラグ2"" FROM ""パンフレット元データ""")
  If Not IsNull(ResultSet) Then
    While ResultSet.next
      Dim msg1 As String
      Dim msg2 As String
      If ResultSet.getString(2) = "独身男性" Then
        msg1 = "都会にも自然にもスマートに合うフォルム。大勢の仲間とレジャーに出かけるときも、最高の景色を独占しながら仲間とワイワイ騒ぐのも、自由にアレンジできるフレキシブルなシート。そんなミニバン、できました。"
      ElseIf ResultSet.getString(2) = "多家族" Then
        msg1 = "家族と出かけよう!子供と最高の時を楽しもう!どんどん大きくなっていく子供たちに、最高の思い出を。載せたいものは何でも載せて、このミニバンと共に、Pricelessな思い出を。"
      ElseIf ResultSet.getString(2) = "年配夫婦" Then
        msg1 = "子供たちが巣立った今だから。長年連れ添った二人が最高の時を共有するために。最高のセダンを、今、あなたのもとに。"
      End If
      If ResultSet.getString(3) = "来店待ち" Then
        msg2 = "当店には、いつでもお試しいただけるよう試乗車をご用意しております。各種ドリンクの無料サービスもございます。お気軽にご来店ください。"
      ElseIf ResultSet.getString(3) = "セールス訪問" Then
        msg2 = "長年当店をご愛顧いただき、誠にありがとうございます。日ごろのお礼も兼ねて、わずかばかりのプレゼントをお届けに伺いたいと思っております。"
      End If
      Statement2 = Connection.createStatement()
      Statement2.executeQuery("UPDATE ""パンフレット元データ"" SET ""差し替え文1"" = '" & msg1 & "', ""差し替え文2"" = '" & msg2 & "' WHERE ""顧客名"" = '" & ResultSet.getString(1) & "' ")
    Wend
  End If

  Connection.close()

  MsgBox "OK!"

End Sub

ここで注意したいのは、テーブル名やフィールド名はすべてダブルクォーテーションで囲まなければならないこと。これはOpenOffice Basicの特徴と言えます。

プログラムの作成が終わったら、ツールバーの黄緑色の右向き三角ボタンをクリックすると、Sub Mainが実行されます。これで、全顧客に対してのセールストークが入力されました。

カテゴリ:OpenOffice

Google
 
在宅、SOHO、求人
 
Copyright(c) 2009 ISCS All rights reserved.