StarBasicまたはOOo Basicプログラミングに興味のある方、
もしくは学習中の方、知識共有の場にしましょう。
参考になる主なリンク
StarSuite 8 Basic プログラミングガイド
http://docs.sun.com/app/docs/doc/819-1332?l=ja
OpenOffice.org 推進サイト
http://ooosupport.good-day.net/ja/documents/faq/
OpenOffice.org日本ユーザー会翻訳プロジェクト BASIC HELP
http://openoffice-docj.sourceforge.jp/tr/translated/basic_help_frame.html
OpenOffice.org本家 API Project
http://api.openoffice.org/
ウィキブックス OpenOffice.org Basic
http://ja.wikibooks.org/wiki/OpenOffice.org_Basic
ウィキブックス OpenOffice.org Calc Basic
http://ja.wikibooks.org/wiki/OpenOffice.org_Calc_Basic
pukiwiki Plus!
http://hermione.s41.xrea.com/pukiwiki
他に追加情報があったら教えてください。
探検
【StarSuite Basic/OpenOffice.org Basic】
■ このスレッドは過去ログ倉庫に格納されています
2006/10/06(金) 20:04:48
214デフォルトの名無しさん
2008/05/30(金) 14:49:12 続き。
Sub Hoyoyo( sString As String )
msgbox sString
End Sub
Hoyoyo ドキュメント中の Standard ライブラリ、Module1 にある Hoyoyo subroutine を引数付きで実行する。
Sub invoke_Hoyoyo
sURL = "vnd.sun.star.script:Standard.Module1.Hoyoyo?language=Basic&location=document"
'フレームを見つけてくる
oFrames = StarDesktop.getFrames()
Dim oFrame As Object
For i = 0 To oFrames.getCount() -1 Step 1
If Left(oFrames.getByIndex(i).Title,6) = "Hoyoyo" Then
oFrame = oFrames.getByIndex(i)
End If
Next
If NOT IsNull( oFrame ) Then
oDoc = oFrame.getController().getModel()
oSP = oDoc.ScriptProvider
oScript = oSP.getScript(sURL)
If NOT IsNull( oScript ) Then
oScript.invoke( Array( "Say Hoyoyo." ), Array(), Array() )
End If
End If
End Sub
Sub Hoyoyo( sString As String )
msgbox sString
End Sub
Hoyoyo ドキュメント中の Standard ライブラリ、Module1 にある Hoyoyo subroutine を引数付きで実行する。
Sub invoke_Hoyoyo
sURL = "vnd.sun.star.script:Standard.Module1.Hoyoyo?language=Basic&location=document"
'フレームを見つけてくる
oFrames = StarDesktop.getFrames()
Dim oFrame As Object
For i = 0 To oFrames.getCount() -1 Step 1
If Left(oFrames.getByIndex(i).Title,6) = "Hoyoyo" Then
oFrame = oFrames.getByIndex(i)
End If
Next
If NOT IsNull( oFrame ) Then
oDoc = oFrame.getController().getModel()
oSP = oDoc.ScriptProvider
oScript = oSP.getScript(sURL)
If NOT IsNull( oScript ) Then
oScript.invoke( Array( "Say Hoyoyo." ), Array(), Array() )
End If
End If
End Sub
215デフォルトの名無しさん
2008/05/30(金) 17:24:49 >>214
oDoc = oFrame.getController().getModel()
でドキュメントオブジェクトは取得できるのですが
oSP = oDoc.ScriptProvider の行で
「BASIC ランタイムエラー プロパティまたはメソッドが見つかりません」
と言うメッセージが出て終了します
もしかして1.1.5では実行できないのでしょうか
oDoc = oFrame.getController().getModel()
でドキュメントオブジェクトは取得できるのですが
oSP = oDoc.ScriptProvider の行で
「BASIC ランタイムエラー プロパティまたはメソッドが見つかりません」
と言うメッセージが出て終了します
もしかして1.1.5では実行できないのでしょうか
216デフォルトの名無しさん
2008/05/30(金) 18:40:35 >>215
>1.1.5
その考えは無かったわ
dispatch でも動かん。すまん、わからん
Scripting Framework が導入されたのが 2 系からだから ScriptProvider は 1 系だと 1.9 後半くらいじゃないと動かん
>1.1.5
その考えは無かったわ
dispatch でも動かん。すまん、わからん
Scripting Framework が導入されたのが 2 系からだから ScriptProvider は 1 系だと 1.9 後半くらいじゃないと動かん
217デフォルトの名無しさん
2008/05/30(金) 19:26:27 >>216
スペックが低いためか2.x.xは正常に動作しないため
http://oooug.jp/mirror/1.1.5/index.html
で入手した物を使用しています
お手数をおかけして申し訳ありませんでした
スペックが低いためか2.x.xは正常に動作しないため
http://oooug.jp/mirror/1.1.5/index.html
で入手した物を使用しています
お手数をおかけして申し訳ありませんでした
218デフォルトの名無しさん
2008/06/02(月) 14:58:42 >>217
SA5F(Geode800MHz)でさえ、OpenOffice2.4は(遅いけど)問題なく動きますよ。
よほどメモリ貧乏なのでなければ更新した方がいい気もしますが。
# 2.1が怪しいのは元々エラー処理が雑だったからで、2.4は割りと安定してます。
SA5F(Geode800MHz)でさえ、OpenOffice2.4は(遅いけど)問題なく動きますよ。
よほどメモリ貧乏なのでなければ更新した方がいい気もしますが。
# 2.1が怪しいのは元々エラー処理が雑だったからで、2.4は割りと安定してます。
219デフォルトの名無しさん
2008/06/03(火) 10:26:39220デフォルトの名無しさん
2008/06/04(水) 15:08:43 起動やファイルを開くベンチマーク結果を挙げているページ
ttp://www.oooninja.com/2008/05/openofficeorg-getting-faster-benchmark.html
ttp://www.oooninja.com/2008/05/responses-to-is-openofficeorg-getting.html
ttp://www.oooninja.com/2008/05/openofficeorg-getting-faster-benchmark.html
ttp://www.oooninja.com/2008/05/responses-to-is-openofficeorg-getting.html
221デフォルトの名無しさん
2008/06/06(金) 12:07:41 ODFXSLTRunner
ttp://blogs.sun.com/GullFOSS/entry/odfxsltrunner_a_new_tool_in
ttp://wiki.services.openoffice.org/wiki/ODFXSLTRunner
ttp://blogs.sun.com/GullFOSS/entry/odfxsltrunner_a_new_tool_in
ttp://wiki.services.openoffice.org/wiki/ODFXSLTRunner
222デフォルトの名無しさん
2008/06/10(火) 20:28:46 update10以降、起動が早くなった気がしないでもない
223デフォルトの名無しさん
2008/06/14(土) 01:27:01 >>219
是非、「OFFICEスイート」から「テキストエディタ」に乗り換えることをお勧めしますw
是非、「OFFICEスイート」から「テキストエディタ」に乗り換えることをお勧めしますw
224デフォルトの名無しさん
2008/06/17(火) 00:56:02 100 MHz の PC でテキストエディタ + TeX のころが懐かしい
225デフォルトの名無しさん
2008/06/17(火) 00:59:40 懐古厨が使うようなソフトではないだろ。それに低速マシンなら Microsoft Office の 2000 辺りが無難。
226デフォルトの名無しさん
2008/06/17(火) 01:17:23 チープなマシンで使うなら、ちょっと古い版のgnumericと、
コンソールで使うエディタとdbが良いような。
ms-officeは、便利な事もあるんだけど、
やっぱり、リソース食い過ぎと思うんだ。
コンソールで使うエディタとdbが良いような。
ms-officeは、便利な事もあるんだけど、
やっぱり、リソース食い過ぎと思うんだ。
227デフォルトの名無しさん
2008/06/17(火) 06:57:16 実際、ほとんどの仕事は 一太郎 ver3 で十分なんだけどね。
もう売ってないし。持ってても動かないし。
もう売ってないし。持ってても動かないし。
228デフォルトの名無しさん
2008/06/17(火) 17:07:12 そこで仮想PCですよ
めちゃめちゃリソース食うけどな
めちゃめちゃリソース食うけどな
229デフォルトの名無しさん
2008/06/25(水) 00:06:59 jsでマクロ書いてる人いないんだ?
OO.o使うついでにjsの勉強兼ねてマクロ作ろうと思ったけど、rhinoインスコしてもeditorでソース開けないわ。
OO.o使うついでにjsの勉強兼ねてマクロ作ろうと思ったけど、rhinoインスコしてもeditorでソース開けないわ。
230デフォルトの名無しさん
2008/06/25(水) 00:12:27 ツール - マクロの管理 - JavaScript で新しくマクロのファイルを作成、編集ボタンを押す
OOo は rhino を自前で含んでる (programs/classes/js.jar)
OOo 2.3 までは rhino 1.5 release 4.1 2003 04 21、OOo 2.4 からは 1.5 release 5 2004 03 25
OOo は rhino を自前で含んでる (programs/classes/js.jar)
OOo 2.3 までは rhino 1.5 release 4.1 2003 04 21、OOo 2.4 からは 1.5 release 5 2004 03 25
231デフォルトの名無しさん
2008/06/25(水) 00:24:34232デフォルトの名無しさん
2008/06/25(水) 18:47:51 開いた瞬間、全画面真っ黒になるマクロを作りたいのですが
どうせばいいですか。
マクロでまっくろじゃけえ、たいそうウケると信じております。
どうせばいいですか。
マクロでまっくろじゃけえ、たいそうウケると信じております。
233デフォルトの名無しさん
2008/06/25(水) 19:06:54 ナニで黒くするかね
-プレゼン
-ウィンドウ
-プレゼン
-ウィンドウ
234デフォルトの名無しさん
2008/06/25(水) 20:06:31 ウイルスっぽい
235デフォルトの名無しさん
2008/06/25(水) 21:02:40 これだとデスクトップマネージャの前に出られないか。
Sub BlackWindow()
oParent = StarDesktop.getActiveFrame().getContainerWindow()
oToolkit = oParent.getToolkit()
oDAcc = CreateUnoService( _
"com.sun.star.awt.DisplayAccess")
If oDAcc.hasElements() Then
oDisplay = oDAcc.getByIndex(0)
aSize = oDisplay.ScreenArea
nWindowTypeClass = com.sun.star.awt.WindowClass.TOP
oAttr = com.sun.star.awt.WindowAttribute
nAttr = oAttr.NODECORATION + oAttr.FULLSIZE
oWindow = CreateWindow( oToolkit, oToolkit.getDesktopWindow(), _
nWindowTypeClass, "window", nAttr, _
0, 0, aSize.Width, aSize.Height )
oWindow.setPosSize(0, 0, aSize.Width, aSize.Height, _
com.sun.star.awt.PosSize.POSSIZE )
oWindow.Background = 0
oWindow.setVisible(True)
End If
End Sub
Sub BlackWindow()
oParent = StarDesktop.getActiveFrame().getContainerWindow()
oToolkit = oParent.getToolkit()
oDAcc = CreateUnoService( _
"com.sun.star.awt.DisplayAccess")
If oDAcc.hasElements() Then
oDisplay = oDAcc.getByIndex(0)
aSize = oDisplay.ScreenArea
nWindowTypeClass = com.sun.star.awt.WindowClass.TOP
oAttr = com.sun.star.awt.WindowAttribute
nAttr = oAttr.NODECORATION + oAttr.FULLSIZE
oWindow = CreateWindow( oToolkit, oToolkit.getDesktopWindow(), _
nWindowTypeClass, "window", nAttr, _
0, 0, aSize.Width, aSize.Height )
oWindow.setPosSize(0, 0, aSize.Width, aSize.Height, _
com.sun.star.awt.PosSize.POSSIZE )
oWindow.Background = 0
oWindow.setVisible(True)
End If
End Sub
236デフォルトの名無しさん
2008/06/25(水) 21:03:14 続き
Function CreateWindow( oToolkit As Object, oParent As Object, _
nWindowTypeClass As Long, sTypeName As String, nAttr As Long, _
nX As Long, nY As Long, nWidth As Long, nHeight As Long ) As Object
aRect = CreateUnoStruct("com.sun.star.awt.Rectangle")
With aRect
.X = nX : .Y = nY
.Width = nWidth : .Height = nHeight
End With
aWinDesc = CreateUnoStruct("com.sun.star.awt.WindowDescriptor")
With aWinDesc
.Type = nWindowTypeClass
.WindowServiceName = sTypeName
.ParentIndex = -1
.Bounds = aRect
.Parent = oParent
.WindowAttributes = nAttr
End With
CreateWindow = oToolkit.createWindow(aWinDesc)
End Function
Function CreateWindow( oToolkit As Object, oParent As Object, _
nWindowTypeClass As Long, sTypeName As String, nAttr As Long, _
nX As Long, nY As Long, nWidth As Long, nHeight As Long ) As Object
aRect = CreateUnoStruct("com.sun.star.awt.Rectangle")
With aRect
.X = nX : .Y = nY
.Width = nWidth : .Height = nHeight
End With
aWinDesc = CreateUnoStruct("com.sun.star.awt.WindowDescriptor")
With aWinDesc
.Type = nWindowTypeClass
.WindowServiceName = sTypeName
.ParentIndex = -1
.Bounds = aRect
.Parent = oParent
.WindowAttributes = nAttr
End With
CreateWindow = oToolkit.createWindow(aWinDesc)
End Function
237デフォルトの名無しさん
2008/06/26(木) 00:03:09 JSのOO.o用APiリファレンスってどこに載ってるか分かりますか。
Javaのはそれらしいのがあるんですけど、全部は載ってないし・・・。
Javaのはそれらしいのがあるんですけど、全部は載ってないし・・・。
238デフォルトの名無しさん
2008/06/26(木) 00:07:39239デフォルトの名無しさん
2008/06/26(木) 00:12:09 OOo の SDK とってきたら Java UNO のと OOo API 両方入ってる
ここも見とくといいかも
ttp://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Scripting/Writing_Macros
ここも見とくといいかも
ttp://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Scripting/Writing_Macros
240デフォルトの名無しさん
2008/06/26(木) 22:27:43 ToolbarController を実装して Addons で OfficeToolbar に入れたのに初期化されないよ
Standard ツールバーに入れたら初期化されたから、Addons によるツールバーでは
Factory から作成されとらんのか。issue に・・・
Standard ツールバーに入れたら初期化されたから、Addons によるツールバーでは
Factory から作成されとらんのか。issue に・・・
241デフォルトの名無しさん
2008/07/04(金) 21:48:20 http://api.openoffice.org/
ここ見ても英語だし、さっぱり分からん。
ここ見ても英語だし、さっぱり分からん。
242デフォルトの名無しさん
2008/07/09(水) 00:16:06 日本語に翻訳するところから始めるんだ
autodoc は UTF-8 通るんかね?
autodoc は UTF-8 通るんかね?
243デフォルトの名無しさん
2008/07/10(木) 17:54:23 OOo Basicで"VBScript.RegExp"を使うことは出来ないのでしょうか
244デフォルトの名無しさん
2008/07/10(木) 18:52:04 >>243
こうか?
Sub retest
Dim Re As Object
Re = CreateObject("VBScript.RegExp")
Re.Pattern = "A."
Re.Ignorecase = True
Re.Global = True
sResult = Re.Replace("abc", "12")
msgbox sResult
Re = nothing
End Sub
こうか?
Sub retest
Dim Re As Object
Re = CreateObject("VBScript.RegExp")
Re.Pattern = "A."
Re.Ignorecase = True
Re.Global = True
sResult = Re.Replace("abc", "12")
msgbox sResult
Re = nothing
End Sub
245デフォルトの名無しさん
2008/07/10(木) 19:42:21246デフォルトの名無しさん
2008/07/10(木) 20:30:09247デフォルトの名無しさん
2008/07/10(木) 22:26:36248デフォルトの名無しさん
2008/07/10(木) 22:36:14 >>247
1.0 系からでも使えるはず
1.0 系からでも使えるはず
249デフォルトの名無しさん
2008/07/11(金) 00:38:56 Declare Function ReReplace Lib "bregexp.dll" Alias "Replace" _
(szRegstr As String, szTarget As String) As String
Sub ExampleDeclare
Dim sExp As String
Dim sTarget As String
Dim sStr As String
sTarget = "12"
sExp = "/\d/x/"
sStr = ReReplace(sExp, sTarget)
msgbox sStr
'FreeLibrary("bregexp.dll" )
End Sub
invalid target parameter って表示される・・・。
(szRegstr As String, szTarget As String) As String
Sub ExampleDeclare
Dim sExp As String
Dim sTarget As String
Dim sStr As String
sTarget = "12"
sExp = "/\d/x/"
sStr = ReReplace(sExp, sTarget)
msgbox sStr
'FreeLibrary("bregexp.dll" )
End Sub
invalid target parameter って表示される・・・。
250デフォルトの名無しさん
2008/07/11(金) 08:36:57251デフォルトの名無しさん
2008/07/11(金) 20:04:38 実装されていませんって・・・ダミーってことかね
・・・ com.sun.star.util.TextSearch サービスはカスだしなぁ
・・・ com.sun.star.util.TextSearch サービスはカスだしなぁ
252デフォルトの名無しさん
2008/07/11(金) 21:45:45 >>250
dll はフルパスで書かなきゃ駄目とか
dll はフルパスで書かなきゃ駄目とか
253デフォルトの名無しさん
2008/07/11(金) 22:52:06 >>252
早速試してみたところ実装はされたようですが
下記のマクロを実行したところ
「BASICのシンタックスエラー パラメータはプロシージャに合いません」
となります(Excelでは「345」と正常に表示されます)
Declare Function Match Lib "C:\WINDOWS\SYSTEM\bregexp.dll" _
(szRegstr As String, szTarget As String) As String
Sub Test
sTarget = "12.345"
ret = Match("m/(\d{3})/", sTarget)
MsgBox ret
End Sub
早速試してみたところ実装はされたようですが
下記のマクロを実行したところ
「BASICのシンタックスエラー パラメータはプロシージャに合いません」
となります(Excelでは「345」と正常に表示されます)
Declare Function Match Lib "C:\WINDOWS\SYSTEM\bregexp.dll" _
(szRegstr As String, szTarget As String) As String
Sub Test
sTarget = "12.345"
ret = Match("m/(\d{3})/", sTarget)
MsgBox ret
End Sub
254デフォルトの名無しさん
2008/07/11(金) 23:05:33 Sub Test
Dim sTarget As String
Dim sExp As String
sExp = "m/(\d{3})/"
sTarget = "12.345"
ret = Match(sExp, sTarget)
MsgBox ret
End Sub
こうすると、クラッシュするようになったよ・・・。
Dim sTarget As String
Dim sExp As String
sExp = "m/(\d{3})/"
sTarget = "12.345"
ret = Match(sExp, sTarget)
MsgBox ret
End Sub
こうすると、クラッシュするようになったよ・・・。
255デフォルトの名無しさん
2008/07/11(金) 23:18:29 >>254
奇遇だな。俺も今それを試してクラッシュしたところだ。OOo beta 3 だけどな。
奇遇だな。俺も今それを試してクラッシュしたところだ。OOo beta 3 だけどな。
256デフォルトの名無しさん
2008/07/11(金) 23:19:40 OOo 3 beta だった
257デフォルトの名無しさん
2008/07/11(金) 23:21:19 >>249 を書いたのも俺だが、sTarget = "12" を "123" にするとクラッシュするんだ
OOo 1.1 からPy-UNOが利用できるから、Python 使うとか・・・
1.1.5 をDLしてくるか
OOo 1.1 からPy-UNOが利用できるから、Python 使うとか・・・
1.1.5 をDLしてくるか
258デフォルトの名無しさん
2008/07/11(金) 23:24:55 ま、あきらめて自分で実装するのが一番早かったりしてな
259デフォルトの名無しさん
2008/07/11(金) 23:34:25 なるほど、Alternative dialog Find & Replace for Writer 拡張機能の正規表現は
Basic で書かれてるんかな?コメがチェコ語?かなんかでパット見よー分からん
それならパクッテこれば・・・1系で動くか分からんが
Basic で書かれてるんかな?コメがチェコ語?かなんかでパット見よー分からん
それならパクッテこれば・・・1系で動くか分からんが
260デフォルトの名無しさん
2008/07/12(土) 00:03:17 あー、1.1.5 でも Py-UNO で TCP/IP 接続でいけるな
ttp://udk.openoffice.org/python/python-bridge.html
ttp://udk.openoffice.org/python/python-bridge.html
261デフォルトの名無しさん
2008/07/12(土) 00:05:59 ここはお前の日記帳か
それになんで TCP/IP が出てくるんだ
それになんで TCP/IP が出てくるんだ
262デフォルトの名無しさん
2008/07/12(土) 00:09:56 OOo はTCP/IPで接続できるが?別にpipeでもいいけど
263デフォルトの名無しさん
2008/07/12(土) 04:50:57 通りすがりの者だが読んでるだけで勉強になるスレだと思った
264デフォルトの名無しさん
2008/07/12(土) 09:21:29 243です
私もフルパス指定でやってみましたが"bregexp.dll"以外のdll
(unlha32.dll,urmon.dll,nmail.dll)ではいずれも関数を呼び出した行で
"実装されていません"となります(フルパス指定しない場合と同じ)
なので2.0では"Declare Function"が使えないのだと思っていました
私もフルパス指定でやってみましたが"bregexp.dll"以外のdll
(unlha32.dll,urmon.dll,nmail.dll)ではいずれも関数を呼び出した行で
"実装されていません"となります(フルパス指定しない場合と同じ)
なので2.0では"Declare Function"が使えないのだと思っていました
265デフォルトの名無しさん
2008/07/12(土) 11:23:01 kernel32 内のは動く (1.1.5、2.0)
ttp://www.oooforum.org/forum/viewtopic.phtml?t=72220&highlight=kernel32
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByRef lpbuffer As String, nSize As Long) As Long
Public Function ComputerName() As String
Dim sBuffer As String
Dim lSize As Long
Dim sNome As String
sBuffer = Space$(260)
lSize = Len(sBuffer)
Call GetComputerName(sBuffer, lSize)
If lSize > 0 Then
sNome = Left$(sBuffer, lSize)
lSize = InStr(sNome, Chr$(0))
If lSize Then
sNome = Left$(sNome, lSize - 1)
End If
Else
sNome= ""
End If
'ComputerName = sNome
MsgBox sNome
End Function
bregexp のときの Declare 時の引数を ByRef だの ByVal をいじっても特に変わりなし
相性悪いんかね・・・
ttp://www.oooforum.org/forum/viewtopic.phtml?t=72220&highlight=kernel32
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByRef lpbuffer As String, nSize As Long) As Long
Public Function ComputerName() As String
Dim sBuffer As String
Dim lSize As Long
Dim sNome As String
sBuffer = Space$(260)
lSize = Len(sBuffer)
Call GetComputerName(sBuffer, lSize)
If lSize > 0 Then
sNome = Left$(sBuffer, lSize)
lSize = InStr(sNome, Chr$(0))
If lSize Then
sNome = Left$(sNome, lSize - 1)
End If
Else
sNome= ""
End If
'ComputerName = sNome
MsgBox sNome
End Function
bregexp のときの Declare 時の引数を ByRef だの ByVal をいじっても特に変わりなし
相性悪いんかね・・・
266デフォルトの名無しさん
2008/07/12(土) 18:14:12 >>265も動きません
OS等OOo以外の環境が原因の可能性が濃厚ですね
そうなると他の方には解決策の探しようがありませんので
"Declare Function"の使用は断念します
お騒がせしました
(com.sun.star.util.TextSearchで2件目以降のマッチングさえ取得できれば・・・)
OS等OOo以外の環境が原因の可能性が濃厚ですね
そうなると他の方には解決策の探しようがありませんので
"Declare Function"の使用は断念します
お騒がせしました
(com.sun.star.util.TextSearchで2件目以降のマッチングさえ取得できれば・・・)
267デフォルトの名無しさん
2008/07/13(日) 00:34:31 TextSearch はリファレンスにサブパターンが取得できるっぽいことが書かれてるのに
取得できないのが痛いよなぁ
二件目以降は文字列の endOffset 以降を再検索で・・・
取得できないのが痛いよなぁ
二件目以降は文字列の endOffset 以降を再検索で・・・
268デフォルトの名無しさん
2008/07/22(火) 06:11:06 com.sun.star.i18n.TransliterationでURLエンコード、デコードって出来るんでしょうか?
269デフォルトの名無しさん
2008/07/22(火) 14:46:57 いいえ
270デフォルトの名無しさん
2008/07/22(火) 20:10:42 そうですか、さんくすです。
271デフォルトの名無しさん
2008/08/27(水) 12:53:02 Sub clipboard_2
oClip = CreateUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oTransfer = oClip.getContents()
aDataFlavors = oTransfer.getTransferDataFlavors()
bType = False
For i = 0 To UBound(aDataFlavors) Step 1
aDataFlavor = aDataFlavors(i)
If aDataFlavor.MimeType = "text/plain;charset=utf-16" Then
bType = True
Exit For
End If
Next
If bType Then
' convert utf-16 to UNO string
oConverter = CreateUnoService("com.sun.star.script.Converter")
sData = oConverter.convertToSimpleType( _
oTransfer.getTransferData(aDataFlavor), _
com.sun.star.uno.TypeClass.STRING)
End If
End Sub
上記の "If bType Then" 以降の処理を行わず "aDataFlavor" を
クリップボードに戻す事は可能でしょうか
oClip = CreateUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oTransfer = oClip.getContents()
aDataFlavors = oTransfer.getTransferDataFlavors()
bType = False
For i = 0 To UBound(aDataFlavors) Step 1
aDataFlavor = aDataFlavors(i)
If aDataFlavor.MimeType = "text/plain;charset=utf-16" Then
bType = True
Exit For
End If
Next
If bType Then
' convert utf-16 to UNO string
oConverter = CreateUnoService("com.sun.star.script.Converter")
sData = oConverter.convertToSimpleType( _
oTransfer.getTransferData(aDataFlavor), _
com.sun.star.uno.TypeClass.STRING)
End If
End Sub
上記の "If bType Then" 以降の処理を行わず "aDataFlavor" を
クリップボードに戻す事は可能でしょうか
272デフォルトの名無しさん
2008/08/27(水) 13:29:10 >>271
クリップボードの内容を text/plain;charset=utf-16 だけにしたいってこと?
クリップボードの内容を text/plain;charset=utf-16 だけにしたいってこと?
273デフォルトの名無しさん
2008/08/27(水) 14:40:02274デフォルトの名無しさん
2008/08/27(水) 14:45:16275デフォルトの名無しさん
2008/09/05(金) 12:25:27 ttp://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOoBasic%2FGeneric%2FWindow
このページに
>* boolean isVisible () 表示状態を返します
>* void setVisible ( [in] boolean Visible ) 表示状態を切り替えます
とあるのですが
oContainerWindow.setVisible(False) は問題ありませんが
bVisible=oContainerWindow.isVisible() はエラーになります
散々調べた結果
ttp://api.openoffice.org/docs/common/ref/com/sun/star/awt/XWindow.html#setVisible
このページで setVisible は XWindow の下位
ttp://api.openoffice.org/docs/common/ref/com/sun/star/awt/XWindow2.html#isVisible
isVisible は XWindow2 の下位である事まではわかったのですが、そこから先がわかりません
ご教授賜りたく、よろしくお願いいたします
このページに
>* boolean isVisible () 表示状態を返します
>* void setVisible ( [in] boolean Visible ) 表示状態を切り替えます
とあるのですが
oContainerWindow.setVisible(False) は問題ありませんが
bVisible=oContainerWindow.isVisible() はエラーになります
散々調べた結果
ttp://api.openoffice.org/docs/common/ref/com/sun/star/awt/XWindow.html#setVisible
このページで setVisible は XWindow の下位
ttp://api.openoffice.org/docs/common/ref/com/sun/star/awt/XWindow2.html#isVisible
isVisible は XWindow2 の下位である事まではわかったのですが、そこから先がわかりません
ご教授賜りたく、よろしくお願いいたします
276デフォルトの名無しさん
2008/09/05(金) 12:37:11 >>275
OOo 2.4.1 winXP では Calc のウィンドウに対して問題なく動く
Sub test25
oDoc = ThisComponent
oFrame = oDoc.getCurrentController().getFrame()
oContainerWindow = oFrame.getContainerWindow()
oContainerWindow.setVisible(False)
bVisible = oContainerWindow.isVisible()
oContainerWindow.setVisible(True)
End Sub
どんなエラーが出るんかね?
OOo 2.4.1 winXP では Calc のウィンドウに対して問題なく動く
Sub test25
oDoc = ThisComponent
oFrame = oDoc.getCurrentController().getFrame()
oContainerWindow = oFrame.getContainerWindow()
oContainerWindow.setVisible(False)
bVisible = oContainerWindow.isVisible()
oContainerWindow.setVisible(True)
End Sub
どんなエラーが出るんかね?
277デフォルトの名無しさん
2008/09/05(金) 17:44:16 >>276
BASIC ランタイムエラー
プロパティまたはメソッドが見つかりません
です
このスレッドを読むと1 系には実装されていないとかいうことでしょうか
設定は出来て取得できないなんて考えられないソフトです
メディアを演奏しようとすると
オブジェクト変数は設定できていません
とか言われるし
lockControllers() と addActionLock() を両方使っても
セルカーソルが移動するし
シート数40、サイズ9Mほど(Excel97の場合)のファイルを保存するのに5分!もかかるし
(StarCalc形式なら20秒弱ですむが文字が化けるし、Excel形式だと開くときにシート毎に
行の高さの調整とかを頼みもしないのに実行するのでとてもうっとうしい)
非表示で開いたCSVファイルを保存すると空になってしまうし・・・
Excelのマクロを移植するのは断念します
ありがとうございました
さようなら
BASIC ランタイムエラー
プロパティまたはメソッドが見つかりません
です
このスレッドを読むと1 系には実装されていないとかいうことでしょうか
設定は出来て取得できないなんて考えられないソフトです
メディアを演奏しようとすると
オブジェクト変数は設定できていません
とか言われるし
lockControllers() と addActionLock() を両方使っても
セルカーソルが移動するし
シート数40、サイズ9Mほど(Excel97の場合)のファイルを保存するのに5分!もかかるし
(StarCalc形式なら20秒弱ですむが文字が化けるし、Excel形式だと開くときにシート毎に
行の高さの調整とかを頼みもしないのに実行するのでとてもうっとうしい)
非表示で開いたCSVファイルを保存すると空になってしまうし・・・
Excelのマクロを移植するのは断念します
ありがとうございました
さようなら
278デフォルトの名無しさん
2008/09/05(金) 20:58:10 OOo のマクロは利用者が少ないし、ドキュメントも整備されてないから、
開発にかなり忍耐を強いられるのは事実だな。多分不具合も多いと思う。
OOo3 系でも改善される気配がないし。
それに Excel は 2003 までだったらマクロとか動作速度に関しては良くできてるよ。
ただ、Excel 2007 で9M のファイルを開くとエラいことになりそうな気はするけど。
開発にかなり忍耐を強いられるのは事実だな。多分不具合も多いと思う。
OOo3 系でも改善される気配がないし。
それに Excel は 2003 までだったらマクロとか動作速度に関しては良くできてるよ。
ただ、Excel 2007 で9M のファイルを開くとエラいことになりそうな気はするけど。
279デフォルトの名無しさん
2008/09/05(金) 21:35:08 >>278
よく使う API には問題ない
Basic も大抵なんともないが、あまり使われてなさそうなランタイム関数を使うとバグであー、ってなる
ドキュメントが整備されるとは思えん・・・DevGuide 読めば分かると思われてるし
よく使う API には問題ない
Basic も大抵なんともないが、あまり使われてなさそうなランタイム関数を使うとバグであー、ってなる
ドキュメントが整備されるとは思えん・・・DevGuide 読めば分かると思われてるし
280デフォルトの名無しさん
2008/09/05(金) 21:54:41 まぁ、整備されつつあるドキュメントといえば
ttp://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide
PDF にすると 214 ページ
翻訳されるようだが・・・
よく使われるであろう Calc に関する内容が少なすぎんかね
ttp://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide
PDF にすると 214 ページ
翻訳されるようだが・・・
よく使われるであろう Calc に関する内容が少なすぎんかね
281デフォルトの名無しさん
2008/09/05(金) 22:11:23 最近見てないけど、全機能の解説には程遠いんだよね、確か
んで、ひたすら Google での検索地獄になる
んで、ひたすら Google での検索地獄になる
282デフォルトの名無しさん
2008/09/06(土) 14:48:54 まぁ、ぐぐっても解決策が出てきた例がない
283デフォルトの名無しさん
2008/09/07(日) 11:20:27284デフォルトの名無しさん
2008/09/07(日) 11:23:47 まあ英語ページで回答が見つかることもあるよ
彼らは一体どこで調べたんだろうと思うけども
彼らは一体どこで調べたんだろうと思うけども
285デフォルトの名無しさん
2008/09/07(日) 12:34:40 本家で、難儀な質問に回答を出してるのは、
ソース触ってる中の人たちじゃまいか?
// ある意味、ソースがドキュメント状態?
ソース触ってる中の人たちじゃまいか?
// ある意味、ソースがドキュメント状態?
286デフォルトの名無しさん
2008/09/07(日) 18:23:15 大抵のことは散乱しているドキュメントなどで見つかるんだよ
ソースを見なきゃならんこともあったが・・・
とはいえ、ユーザーが最初の一歩を踏み出そうとするときにまとまったドキュメントが無いと躊躇すると思う
マクロを書くユーザーの多くは OOo のソースなんて見たくないと思うんだが
ソースを見なきゃならんこともあったが・・・
とはいえ、ユーザーが最初の一歩を踏み出そうとするときにまとまったドキュメントが無いと躊躇すると思う
マクロを書くユーザーの多くは OOo のソースなんて見たくないと思うんだが
287デフォルトの名無しさん
2008/09/08(月) 00:56:22 使えねーな、全く
288デフォルトの名無しさん
2008/09/08(月) 08:42:30 普通は >>277 のような書き込みは盛大に叩かれるのが一般的なのに、
ここでは誰も否定しないのが素晴らしい。みんなOOoには不満を抱えてるんだな
「○○がMS Officeを捨ててOOoを採用」とかいうニュースを見るたびに
担当 SE はご愁傷様、という気分になるよ
ここでは誰も否定しないのが素晴らしい。みんなOOoには不満を抱えてるんだな
「○○がMS Officeを捨ててOOoを採用」とかいうニュースを見るたびに
担当 SE はご愁傷様、という気分になるよ
289デフォルトの名無しさん
2008/09/08(月) 11:00:09 VBAでシステム組むのが馬鹿なんだよな。
そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
290デフォルトの名無しさん
2008/09/08(月) 21:10:54 >>289
同意。
同意。
291デフォルトの名無しさん
2008/09/08(月) 21:33:36 >>289
あの便利さは一度覚えるとなかなか抜け出せないと思うよ
あの便利さは一度覚えるとなかなか抜け出せないと思うよ
292デフォルトの名無しさん
2008/09/08(月) 22:02:50 >>291
マならありえない発言だな
マならありえない発言だな
293デフォルトの名無しさん
2008/09/08(月) 22:09:53 与えられた案件を顧客の要望に沿って実現するのがプログラマではないでしょうか
294デフォルトの名無しさん
2008/09/08(月) 23:27:41 >>289
> VBAでシステム組むのが馬鹿なんだよな。
> そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
AccessVBAとSQLで大抵の業務がすげーーー効率化、精度向上、リアルタイム化出来るんだけど。
ほとんど労力いらずで。Baseなんてので開発すりゃ、100倍の労力と1/100のサービスになりそう。
なんせ、情報が貧困過ぎる。
> VBAでシステム組むのが馬鹿なんだよな。
> そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
AccessVBAとSQLで大抵の業務がすげーーー効率化、精度向上、リアルタイム化出来るんだけど。
ほとんど労力いらずで。Baseなんてので開発すりゃ、100倍の労力と1/100のサービスになりそう。
なんせ、情報が貧困過ぎる。
295デフォルトの名無しさん
2008/09/09(火) 00:24:07 細かい指摘ですまんが、
× SQL
◎ RDBMS
○ MS SQL Server
じゃないだろうか。
リアルタイム化というのは定期的にバッチで処理していた業務を OLTP 化するという事?
× SQL
◎ RDBMS
○ MS SQL Server
じゃないだろうか。
リアルタイム化というのは定期的にバッチで処理していた業務を OLTP 化するという事?
296デフォルトの名無しさん
2008/09/09(火) 00:33:15 >>295 「AccessとVBA」って書きたかった に100ペセタ
297デフォルトの名無しさん
2008/09/09(火) 19:36:53298デフォルトの名無しさん
2008/09/09(火) 23:31:31299デフォルトの名無しさん
2008/09/09(火) 23:37:54 MS Office は捨てて OOo に移行しろ、みたいなことを言う人は基本的に信用しないことにしている。
本気で OOo に触ったことがある人ならそんなこと言えないと思うし。
本気で OOo に触ったことがある人ならそんなこと言えないと思うし。
300デフォルトの名無しさん
2008/09/09(火) 23:47:24 MSOfficeはVBA触って初めてそのバカ高い値段設定にも納得がいく。
開発環境としてすごい整ってる。
だがOO.oの未来を切り開きたい俺はPythonUNOで何とか頑張りたい。
開発環境としてすごい整ってる。
だがOO.oの未来を切り開きたい俺はPythonUNOで何とか頑張りたい。
301デフォルトの名無しさん
2008/09/10(水) 00:10:28302デフォルトの名無しさん
2008/09/10(水) 00:24:12 このスレで言うのもなんだけど、Access を使うなら SQLite とか HSQLDB とか
Apache Derby とか MySQL とかをお好みで使えば良いじゃんと思ってしまう。
Apache Derby とか MySQL とかをお好みで使えば良いじゃんと思ってしまう。
303デフォルトの名無しさん
2008/09/10(水) 14:53:08 >>297
> Baseはやはりどう考えても代替にはなり得ないと思うが
MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
ユーザはそう多くはないだろうということだろう。
OOoのマクロ言語がVBAの代替になるとまで言っている人を俺はいまだ見たことがないが。
問題点は指摘している人はオープンソース派サイドにも幾人かいるが。
> Baseはやはりどう考えても代替にはなり得ないと思うが
MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
ユーザはそう多くはないだろうということだろう。
OOoのマクロ言語がVBAの代替になるとまで言っている人を俺はいまだ見たことがないが。
問題点は指摘している人はオープンソース派サイドにも幾人かいるが。
304デフォルトの名無しさん
2008/09/10(水) 15:53:35 純粋なロジックだけの話なら、ooo-basicはvbaの代替になると思う。
ぶっちゃけ、basicだから。
問題は、アプリとの絡みがある時に、リファレンスになる物が無いって事だろ。
calcのセル操作とかで分んない事があったら、キーマクロ吐き出させて、
呼出関数を探るんだけど、そのキーマクロが吐き出した関数の詳細が判らん。
例えばの話、セルの巾を変える関数が判ったら、
その近くにセルの高さを変える関数があるはずなんだけど、
そういう事が解るようなサマリーが無い。
その辺のドキュメントが整理されてくれば、使い易くなるんでないかなぁ。
ぶっちゃけ、basicだから。
問題は、アプリとの絡みがある時に、リファレンスになる物が無いって事だろ。
calcのセル操作とかで分んない事があったら、キーマクロ吐き出させて、
呼出関数を探るんだけど、そのキーマクロが吐き出した関数の詳細が判らん。
例えばの話、セルの巾を変える関数が判ったら、
その近くにセルの高さを変える関数があるはずなんだけど、
そういう事が解るようなサマリーが無い。
その辺のドキュメントが整理されてくれば、使い易くなるんでないかなぁ。
305デフォルトの名無しさん
2008/09/10(水) 18:34:36 >>303
> MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
> ユーザはそう多くはないだろうということだろう。
VBAは全員手書きだと思ってた
Accessが吐き出すVBAコードは、ある程度例外処理もなされているが
とてもじゃないが冗長すぎる。日本語入ってなくて分かりづらいし
後から手書きで直すのが苦痛ってか不可能。
普通、最初から手で書くか、コピペ手直し派がほとんどだと思うよ。
Accessが吐き出すSQLは割りと綺麗
後、とってもいじりやすい
> MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
> ユーザはそう多くはないだろうということだろう。
VBAは全員手書きだと思ってた
Accessが吐き出すVBAコードは、ある程度例外処理もなされているが
とてもじゃないが冗長すぎる。日本語入ってなくて分かりづらいし
後から手書きで直すのが苦痛ってか不可能。
普通、最初から手で書くか、コピペ手直し派がほとんどだと思うよ。
Accessが吐き出すSQLは割りと綺麗
後、とってもいじりやすい
306デフォルトの名無しさん
2008/09/10(水) 19:39:50 日本語コードに拒否反応起こらないの?
307デフォルトの名無しさん
2008/09/10(水) 22:17:22 >>306
オブジェクトの名称だろ
コードが日本語であるはずがない
ここの人は本当にVBA書いたことあるのだろうか?と疑いたくなる書き込みばかり
Accessが吐き出すVBAは全てアスキーコードに変換される
もちろん意味はある
しかし日本語で済めばそれに越したことはない
オブジェクトの名称だろ
コードが日本語であるはずがない
ここの人は本当にVBA書いたことあるのだろうか?と疑いたくなる書き込みばかり
Accessが吐き出すVBAは全てアスキーコードに変換される
もちろん意味はある
しかし日本語で済めばそれに越したことはない
308デフォルトの名無しさん
2008/09/11(木) 00:38:04309デフォルトの名無しさん
2008/09/11(木) 04:38:49 OOoの場合は、マクロの自動生成で吐き出されるコードと、
打ち込みコードとの乖離がありすぎるのがいちばん難点。
その上、日本語のマニュアル書籍がほとんど皆無だから。
打ち込みコードとの乖離がありすぎるのがいちばん難点。
その上、日本語のマニュアル書籍がほとんど皆無だから。
310デフォルトの名無しさん
2008/09/11(木) 06:07:01311デフォルトの名無しさん
2008/09/11(木) 10:40:07 >>310
全API のドキュメントは登場しないと思う
今あるのは IDL ドキュメントだけど、IDL の無いサービスとかの IDL 追加を issue に出しても
内部用だから・・・とか言って拒否られる
全API のドキュメントは登場しないと思う
今あるのは IDL ドキュメントだけど、IDL の無いサービスとかの IDL 追加を issue に出しても
内部用だから・・・とか言って拒否られる
312デフォルトの名無しさん
2008/09/11(木) 15:27:36 Sub [test space]
[文字列] = "abc"
msgbox [文字列]
End Sub
[文字列] = "abc"
msgbox [文字列]
End Sub
313デフォルトの名無しさん
2008/09/11(木) 22:37:56 使えねーな。ほんと
誰でもいいから、もっと使ってネガティブキャンペーンして、MSOfficeの値段を下げてくれよ。
誰でもいいから、もっと使ってネガティブキャンペーンして、MSOfficeの値段を下げてくれよ。
314デフォルトの名無しさん
2008/09/11(木) 22:41:59■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
- 宅急便デス
- さっむ
- 千晴だけど30年前にゲームのカセット貸したら勝手に売られたんだけど
- ッシャー
- 千晴って大王だったの?
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
