【VB】ボタンの位置取得

スプレッドシート (Calc) について
返信する
debo
記事: 1
登録日時: 10月 15, 2013, 1:40 am

【VB】ボタンの位置取得

投稿記事 by debo »

OpenofficeのVBで、ボタンを押すと、ボタンと同じ列にある内容をテキストに出力するものを作ろうとしてます。
ボタンの位置情報を取得したいのですが、何か方法はありませんか?

aaa , 111 , test1
bbb , 222 , test2
ccc , 333 , test3

ボタン ボタン ボタン
※各ボタンを押すと、同列の内容が.textで出力される
#テキストのファイル名はすべて同じでよい

ちなみにMicrosoftExcel2003のVBでは以下のコードでボタンの位置取/テキストの保存ができたのですが、
OpenOfficeではボタン位置の取得でエラーが出てしまいました。


//////Microsoft Excel 2003 VB //////
Sub ボタン_Click()

Dim a As Varant
a = ActiveSheet.shapes(Application.Caller).TopLeftCell.Colum
fnsave = "出力結果.txt"
numff = FreeFile
Open fnsave For Output As #numff
For i = 1 To 10
temp = Cells(i,a)
Next i
Close #numff
End Sub
OpenOffice 4 on Windows SP
tani
記事: 60
登録日時: 6月 13, 2008, 10:12 am

Re: 【VB】ボタンの位置取得

投稿記事 by tani »

こんな感じのサブルーチンを作って、ボタンが押された時に実行されるように設定すると、
ボタンの列位置が表示されます。(A列が0、B列が1、、、)

コード: 全て選択

Sub Main(ev)
  ButtonName = ev.Source.getModel().getName()
  
  oSheet = ThisComponent.getCurrentController().getActiveSheet()
  
  For i = 0 To oSheet.getDrawPage().getCount - 1
    oDrawButton = oSheet.getDrawPage().getByIndex(i) 
    If oDrawButton.getControl().getName() = ButtonName Then
      iColumn = oDrawButton.getAnchor.getCellAddress().Column
    End If
  Next i
  
  msgbox iColumn
End Sub
返信する

“Calc”に戻る