create a new page, using OOobbs3/36 as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
** [[OOobbs3/36]] [#pbcd01f6]
-''サマリ'': CSV読込からの帳票作成マクロ
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[efui]]
-''投稿日'': 2010-11-11 (木) 16:20:28
*** 質問 [#eb4f4741]
こちらで勉強させて頂いている初心者です。
現在、ダイアログ形式でのファイル指定可能な
CSV読込みタイプの帳票作成に挑んでおります。
少しずつ進めて、新規フレームに内容を吐く事には成功したの...
そこで手詰まりしてしまいました。。。
狙っている結果としましては、
イベントをキックしたメインのシートの帳票レイアウトに沿っ...
開始位置指定で値を埋め込んでいきたいのですが、
うまくいかず手詰まり状態になってしまています。
方法についてご助言頂けたら非常に助かります。
宜しくお願いします。
<以下 作成中のコード>
Sub CsvInputButton_Click
Dim oFilePicker As Object
Dim nDlgResult As Integer
Dim sFiles() As String
Dim sFilename As String
Dim sFilepath As String
Dim aFileProperties(1) As New com.sun.star.beans.Propert...
Dim csvLine As String
'dialogs.FilePicker でダイアログが使える
oFilePicker = createUnoService("com.sun.star.ui.dial...
' 保存するダイアログの場合、このように設定
'oFilePicker.initialize(Array(com.sun.star.ui.dialogs.Te...
' ダイアログの初期化
oFilePicker.appendFilter( "CSVファイル (*.csv)", "*.csv" )
oFilePicker.setCurrentFilter( "CSVファイル (*.csv)" )
'If(G_OptionID = 1) Then
' oFilePicker.setDefaultName("SearchResultList.csv")
'End If
oFilePicker.setTitle("取込みファイルの指定")
'ダイアログ表示
nDlgResult = oFilePicker.execute()
' 開く(OK)が押された場合は、1が返される
IF nDlgResult <> 1 Then
'キャンセル押下
Exit Sub
END IF
sFiles() = oFilePicker.getFiles()
sFilename = sFiles(0)
msgbox sFilename
sFilepath = ConvertFromURL( sFilename)
msgbox sFilepath
aFileProperties(0).Name = "FilterName"
aFileProperties(0).Value = "Text - txt - csv (StarCalc)"
aFileProperties(1).Name = "FilterOptions"
'【①区切り文字】カンマ:44、タブ:9、セミコロン:59、スペ...
'【②引用符】ダブルクォート:34、シングルクォート:39、無...
'【③文字コード】OS標準:0、Unicode(UTF-16):65535、UTF-7...
' UTF-8:76、EUC-JP:69、ISO-2022-JP...
'【④データ開始行】
'【⑤以降、列ごとの書式】標準は1、文字列は2、MDY形式の日...
' DMY形式の日付は4、YMD形式の日付は5、無視する(読み込ま...
aFileProperties(1).Value = _
"44,34,0,29,1/9/2/9/3/9/4/9/5/9/6/9/7/9/8/9/9/9/10/9/"
StarDesktop.loadComponentFromURL(ConvertToUrl(sFilepath)...
*** 回答 [#n5530950]
- シートの一部分に CSV ファイルからのデータを埋め込むとい...
Sub insertAtCsv
oDoc = ThisComponent
oAreaLInks = oDoc.AreaLinks
aCellAddr = CreateUnoStruct("com.sun.star.table.CellAdd...
With aCellAddr
.Sheet = 0
.Column = 1
.Row = 2
End With
sURL = "file:///home/asuka/Desktop/out.csv"
' リンクを作成
oAreaLInks.insertAtPosition(aCellAddr, sURL, "A1:G10", _
"Text - txt - csv (StarCalc)", "44,34,0,1,1")
' 作成したリンクを削除
nIndex = oAreaLInks.getCount() - 1
oAreaLInks.removeByIndex(nIndex)
End Sub
insertAtPosition メソッドの引数は次のとおりです。
- データをリンクする位置を示す左上のセルのアドレス
- リンク先ドキュメントファイル URL
- リンク先ドキュメントでの範囲名 (範囲アドレス、名前付き...
- フィルタ名
- フィルタオプション
挿入 - 外部へリンクで CSV ファイルを選択すると範囲が選択...
リンク先が CSV ファイルの場合には名前付き範囲やデータベー...
-- はにゃ? &{2010-11-11 (木) 18:29:21};
早速のご回答、ありがとうございます。
ファイルのリンクを行う事に関してはばっちりでした。
ありがとうございます。
しかし、設定の仕方が悪いのか、全角文字の項目が文字化けし...
oAreaLInks.insertAtPosition(aCellAddr, sURL, "A1:G10", _
"Text - txt - csv (StarCalc)", "44,34,0,1,1")
頂いたサンプルコードでは"44,34,0,1,1"部分でいう”0”部分が...
いろいろと変更して試してみたのですがダメでした。
フィルタオプション設定値は、loadComponentFromURL()とは別...
あと、ド素人質問で申し訳ないのですが、リンクしたデータを...
指定セル埋め込みにする事は、出来ないですよね・・・?(汗)
一旦、一時シート的な所にご教授頂いたリンク形式で貼り付け...
貼り付けるような方法でいけるのか?と仮定して調べてみよう...
重ね重ねで申し訳ありませんが、宜しくお願いしますm(__)m
-- efui&new{2010-11-12 (金) 14:13:30};
- どうやら文字コードだけでなく区切り文字なども認識してく...
- はにゃ?さん。 ありがとうございました。もう少し粘って...
#comment
*** 感想,コメント,メモ [#fd8fac89]
#comment
End:
** [[OOobbs3/36]] [#pbcd01f6]
-''サマリ'': CSV読込からの帳票作成マクロ
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[efui]]
-''投稿日'': 2010-11-11 (木) 16:20:28
*** 質問 [#eb4f4741]
こちらで勉強させて頂いている初心者です。
現在、ダイアログ形式でのファイル指定可能な
CSV読込みタイプの帳票作成に挑んでおります。
少しずつ進めて、新規フレームに内容を吐く事には成功したの...
そこで手詰まりしてしまいました。。。
狙っている結果としましては、
イベントをキックしたメインのシートの帳票レイアウトに沿っ...
開始位置指定で値を埋め込んでいきたいのですが、
うまくいかず手詰まり状態になってしまています。
方法についてご助言頂けたら非常に助かります。
宜しくお願いします。
<以下 作成中のコード>
Sub CsvInputButton_Click
Dim oFilePicker As Object
Dim nDlgResult As Integer
Dim sFiles() As String
Dim sFilename As String
Dim sFilepath As String
Dim aFileProperties(1) As New com.sun.star.beans.Propert...
Dim csvLine As String
'dialogs.FilePicker でダイアログが使える
oFilePicker = createUnoService("com.sun.star.ui.dial...
' 保存するダイアログの場合、このように設定
'oFilePicker.initialize(Array(com.sun.star.ui.dialogs.Te...
' ダイアログの初期化
oFilePicker.appendFilter( "CSVファイル (*.csv)", "*.csv" )
oFilePicker.setCurrentFilter( "CSVファイル (*.csv)" )
'If(G_OptionID = 1) Then
' oFilePicker.setDefaultName("SearchResultList.csv")
'End If
oFilePicker.setTitle("取込みファイルの指定")
'ダイアログ表示
nDlgResult = oFilePicker.execute()
' 開く(OK)が押された場合は、1が返される
IF nDlgResult <> 1 Then
'キャンセル押下
Exit Sub
END IF
sFiles() = oFilePicker.getFiles()
sFilename = sFiles(0)
msgbox sFilename
sFilepath = ConvertFromURL( sFilename)
msgbox sFilepath
aFileProperties(0).Name = "FilterName"
aFileProperties(0).Value = "Text - txt - csv (StarCalc)"
aFileProperties(1).Name = "FilterOptions"
'【①区切り文字】カンマ:44、タブ:9、セミコロン:59、スペ...
'【②引用符】ダブルクォート:34、シングルクォート:39、無...
'【③文字コード】OS標準:0、Unicode(UTF-16):65535、UTF-7...
' UTF-8:76、EUC-JP:69、ISO-2022-JP...
'【④データ開始行】
'【⑤以降、列ごとの書式】標準は1、文字列は2、MDY形式の日...
' DMY形式の日付は4、YMD形式の日付は5、無視する(読み込ま...
aFileProperties(1).Value = _
"44,34,0,29,1/9/2/9/3/9/4/9/5/9/6/9/7/9/8/9/9/9/10/9/"
StarDesktop.loadComponentFromURL(ConvertToUrl(sFilepath)...
*** 回答 [#n5530950]
- シートの一部分に CSV ファイルからのデータを埋め込むとい...
Sub insertAtCsv
oDoc = ThisComponent
oAreaLInks = oDoc.AreaLinks
aCellAddr = CreateUnoStruct("com.sun.star.table.CellAdd...
With aCellAddr
.Sheet = 0
.Column = 1
.Row = 2
End With
sURL = "file:///home/asuka/Desktop/out.csv"
' リンクを作成
oAreaLInks.insertAtPosition(aCellAddr, sURL, "A1:G10", _
"Text - txt - csv (StarCalc)", "44,34,0,1,1")
' 作成したリンクを削除
nIndex = oAreaLInks.getCount() - 1
oAreaLInks.removeByIndex(nIndex)
End Sub
insertAtPosition メソッドの引数は次のとおりです。
- データをリンクする位置を示す左上のセルのアドレス
- リンク先ドキュメントファイル URL
- リンク先ドキュメントでの範囲名 (範囲アドレス、名前付き...
- フィルタ名
- フィルタオプション
挿入 - 外部へリンクで CSV ファイルを選択すると範囲が選択...
リンク先が CSV ファイルの場合には名前付き範囲やデータベー...
-- はにゃ? &{2010-11-11 (木) 18:29:21};
早速のご回答、ありがとうございます。
ファイルのリンクを行う事に関してはばっちりでした。
ありがとうございます。
しかし、設定の仕方が悪いのか、全角文字の項目が文字化けし...
oAreaLInks.insertAtPosition(aCellAddr, sURL, "A1:G10", _
"Text - txt - csv (StarCalc)", "44,34,0,1,1")
頂いたサンプルコードでは"44,34,0,1,1"部分でいう”0”部分が...
いろいろと変更して試してみたのですがダメでした。
フィルタオプション設定値は、loadComponentFromURL()とは別...
あと、ド素人質問で申し訳ないのですが、リンクしたデータを...
指定セル埋め込みにする事は、出来ないですよね・・・?(汗)
一旦、一時シート的な所にご教授頂いたリンク形式で貼り付け...
貼り付けるような方法でいけるのか?と仮定して調べてみよう...
重ね重ねで申し訳ありませんが、宜しくお願いしますm(__)m
-- efui&new{2010-11-12 (金) 14:13:30};
- どうやら文字コードだけでなく区切り文字なども認識してく...
- はにゃ?さん。 ありがとうございました。もう少し粘って...
#comment
*** 感想,コメント,メモ [#fd8fac89]
#comment
Page: