![]() | ||||||
![]() |
OpenOffice.org Reference | ![]() |
||||
戻る | 基本操作 | 文書作成 | 表計算 | 図形描画 | ダウンロード | |
![]() |
![]() |
基本構文
回数によって処理を繰り返す
FOR i=x TO y STEP zサンプル | 解説 |
|
|
Calc表示 | |
![]() |
処理を選択する
If [条件] Thenサンプル | 解説 |
|
|
処理を分岐させる
Select Case [条件式]サンプル | 解説 |
|
|
条件によって処理を繰り返す(1)
Do Until[条件式]サンプル | 解説 |
|
|
条件によって処理を繰り返す(2)
While [条件式]サンプル | 解説 |
|
|
ループから抜け出す
Exit...Forサンプル | 解説 |
|
|
プログラムを終了する
Endサンプル | 解説 |
|
|
サブルーチンへ移動する
GoSub [サブルーチン]サンプル | 解説 |
|
|
プロシージャに制御を渡す
Call [呼び出すプロシージャ名]サンプル | 解説 |
|
|
セルの操作
合計計算
サンプル | 解説 |
|
|
calc表示 | |
![]() |
セル範囲の指定
サンプル | 解説 |
|
|
calc表示 | |
![]() |
セル[A1]にデータを入力する
サンプル | 解説 |
|
|
calc表示 | |
![]() |
指定した範囲内にデータを入力する
サンプル | 解説 |
Option Explicit '指定した場所にデータを入力する Sub Inp_Data Dim Doc,Sheet,CellRange,Cell as Object Dim i as Integer |
|
calc表示 | |
![]() |
アクティブなセルにデータを出力する
サンプル | 解説 |
Option Explicit Sub ActiveCell_Input Dim nSelect,nSheet,nCellAdd as Object Dim nCellRow,nCellColumn as Integer |
|
calc表示 | |
![]() |
データベースに接続
データソースの検索
サンプル | 解説 |
Option Explicit Sub DateBaseAccess Dim DatabaseContext as object Dim Names Dim i as Integer Dim nSheet as Object Dim nCell,nGetColumn as Object nSheet=ThisComponent.Sheets(0) |
|
calc表示 | |
![]() |
特定のデータソースを検索
サンプル | 解説 |
Option Explicit Sub DataSourceAccess Dim DatabaseContext as Object Dim nDataSource as Object |
|
テーブル名を取得
サンプル | 解説 |
Option Explicit Sub TableView Dim DatabaseContext as Object Dim nDataSource,nTables,nSheet,nNames,nCell,nGetColumns as Object Dim i,nAns as Integer nSheet=ThisComPonent.Sheets(0) |
|
Calc表示 | |
![]() |
SQL文の使用
サンプル | 解説 |
'セレクト命令 Sub Main Dim DatabaseContext as Object Dim Datasource as Object Dim QueryDefinitions as Object Dim QueryDefinition as Object Dim I as Integer |
|
Database表示 | |
![]() |
ダイアログの操作
ダイアログボックスを使いグラフを表示
表を元にグラフを作成します。
ダイアログボックスを使用して、グラフ作成を行います。
On〜Error命令でエラー処理をしています。
サンプル | 解説 |
'変数を設定 |
|
Chart表示 | Dialog表示 |
![]() |
![]() |
リストボックスにデータソースを表示
サンプル | 解説 |
|
|
表示 | |
![]() |
簡易計算書の作成
今回は、ダイアログボックスを使って、計算を行ってみます。
その外、ダイアログボックスの外観を[Model]を使用して変更しています
サンプル | 解説 |
|
|
ダイアログ表示 | コントロール配置 |
![]() |
![]() |
リザルトセットの使い方
リザルトセットは、通常データのスクロールができない為、タイプの変更を行なう必要があります。
ステートメントのオプションで変更と書いてありますが、思うように変更にならないため「1004」を入れてみました
今のところ、とりあえず動くという状態です。
サンプルコード |
Option Explicit Option Base 1 Dim DatabaseContext as Object Dim Datasource as Object Dim Connection as Object Dim InteractionHadler as Object Dim Statement as Object Dim ResultSet as Object Dim nDlg,nCtl(6),nTxt(6),nLbl,nFln,mDlg as Object Dim nList() as String Dim count as Integer 'ダイアログ表示 Sub DialogShow DialogLibraries.LoadLibrary("Library1") nDlg=CreateUnoDialog(DialogLibraries.Library1.Dlg2) mDlg=nDlg.getModel With mDlg .width=260 .Title="SelectSubの使い方※スタートボタンを押してから始めてください。" End With nCtl(1)=nDlg.GetControl("CommandButton1") 'スタートボタン With nCtl(1).Model .PositionX=140 .PositionY=30 End With nCtl(2)=nDlg.GetControl("CommandButton2") '<<ボタン With nCtl(2).Model .PositionX=30 .PositionY=30 .Width=20 End With nCtl(3)=nDlg.GetControl("CommandButton3") '<ボタン With nCtl(3).Model .PositionX=51 .PositionY=30 .Width=20 End With nCtl(4)=nDlg.GetControl("CommandButton4") '>ボタン With nCtl(4).Model .PositionX=72 .PositionY=30 .Width=20 End With nCtl(5)=nDlg.GetControl("CommandButton5") '>>ボタン With nCtl(5).Model .PositionX= 93 .PositionY=30 .Width=20 End With nCtl(6)=nDlg.GetControl("CommandButton6") '閉じるボタン With nCtl(6).Model .PositionX=200 .PositionY=30 End With nTxt(1)=nDlg.GetControl("TextField1") '顧客ID With nTxt(1).Model .PositionX=10 .PositionY=60 .Width=20 End With nTxt(2)=nDlg.GetControl("TextField2") '顧客名 With nTxt(2).Model .PositionX=31 .PositionY=60 .Width=30 End With nTxt(3)=nDlg.GetControl("TextField3") '郵便番号 With nTxt(3).Model .PositionX=62 .PositionY=60 .Width=30 End With nTxt(4)=nDlg.GetControl("TextField4") '都道府県 With nTxt(4).Model .PositionX=93 .PositionY=60 .Width=30 End With nTxt(5)=nDlg.GetControl("TextField5") '住所 With nTxt(5).Model .PositionX=124 .PositionY=60 .Width=80 End With nTxt(6)=nDlg.GetControl("TextField6") '電話番号 With nTxt(6).Model .PositionX=205 .PositionY=60 .Width=40 End With nLbl=nDlg.GetControl("Label1") 'タイトル nLbl.Text="データのスクロール表示" With nLbl.Model .PositionX=20 .PositionY=10 .Width=100 End With nFln=nDlg.GetControl("FixedLine1") '水平線 With nFln.MOdel .PositionX=10 .PositionY=50 .Width=235 End With nDlg.Execute() End Sub 'データベースに接続 Sub Databasesetuzoku DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext") DataSource=DatabaseContext.getByName("HSQL接続(ネットワーク)") 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() Statement.ResultSetType="1004" Statement.ResultSetConcurrency= "1008" ResultSet= Statement.executeQuery("Select * From 顧客名簿") End Sub Sub ResultSetFirst() ResultSet.First() nTxt(1).Text=ResultSet.getString(1) nTxt(2).Text=ResultSet.getString(2) nTxt(3).Text=ResultSet.getString(3) nTxt(4).Text=ResultSet.getString(4) nTxt(5).Text=ResultSet.getString(5) nTxt(6).Text=ResultSet.getString(6) End Sub Sub ResultSetPrevious() ResultSet.Previous() nTxt(1).Text=ResultSet.getString(1) nTxt(2).Text=ResultSet.getString(2) nTxt(3).Text=ResultSet.getString(3) nTxt(4).Text=ResultSet.getString(4) nTxt(5).Text=ResultSet.getString(5) nTxt(6).Text=ResultSet.getString(6) End Sub Sub ResultSetNext() ResultSet.Next() nTxt(1).Text=ResultSet.getString(1) nTxt(2).Text=ResultSet.getString(2) nTxt(3).Text=ResultSet.getString(3) nTxt(4).Text=ResultSet.getString(4) nTxt(5).Text=ResultSet.getString(5) nTxt(6).Text=ResultSet.getString(6) End Sub Sub ResultSetLast() ResultSet.Last() nTxt(1).Text=ResultSet.getString(1) nTxt(2).Text=ResultSet.getString(2) nTxt(3).Text=ResultSet.getString(3) nTxt(4).Text=ResultSet.getString(4) nTxt(5).Text=ResultSet.getString(5) nTxt(6).Text=ResultSet.getString(6) End Sub Sub DialogClosed nDlg.EndExecute() End Sub |
ダイアログ表示 |
![]() |
サンプル | 解説 |
表示 | |
![]() |
![]() |
![]() |
||||
秋田パソコンステーション 秋田市新屋日吉町42-19 TEL:018-828-2835/FAX:018-828-6089 |