「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:3
昨日:2
総数:1760
現在:4


シートCOPY後のテキスト出力で無題CALCを制御したい

ページOpenOffice.org FAQの登録ページ
投稿者wansa
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2011-05-28 14:57:01 (土)
OSXP
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

メインのODSドキュメントのシートをSELECTして
COPYすると無題 2というドキュメントが作成されます。
(一部EXCEL-VBAをそのまま使用してます)

Sheets("TEXT").Select------メインのシートです。
Sheets("TEXT").Copy
oSheet = ThisComponent.getSheets().getByIndex(0)
ThisComponent.CurrentController.setActiveSheet (oSheet)
dim sFilename as string
args(0).Name = "FilterName"
args(0).Value = "Text - txt - csv (StarCalc)"
args(1).Name = "FilterFlags"
args(1).Value = "UTF8"
sFilename= "C:\ABC.txt" ThisComponent.storeToURL(ConvertToUrl(sFilename), args())

上記は、メインのドキュメントのTEXTシートではなく、先頭のシートが
ABC.TXTとして作成され、メインのODSも保存できない状況です

いろいろとやっていますが、無題 2をACTIVEにできなく困っています。
何とか無題 2のシート名TEXTをABC.TXTとして出力できませんでしょうか?


Active なコンポーネント getCurrentComponent

ike@九州 (2011-05-29 11:41:18 (日))

VBA モードの COPY は無題2が強制的に Active になりました
StarDesktop.getCurrentComponent は Active なコンポーネントを取得します
以下でどうでしょうか?

Option VBAsupport 1
Sub Main
 Dim oMainDoc As Object,oTargetDoc As Object
 Dim sFilename as string
 Dim args(1) As new com.sun.star.beans.PropertyValue
 'メイン上からマクロ実行するので メイン = ThisComponent
 oMainDoc = ThisComponent
 
 Sheets("TEXT").Select
 Sheets("TEXT").Copy
 'Select、Copy マクロで、無題2のTEXTシート が Active になっている
 oTargetDoc = StarDesktop.getCurrentComponent
 
 args(0).Name = "FilterName"
 args(0).Value = "Text - txt - csv (StarCalc)"
 args(1).Name = "FilterOptions"
 '3番目パラメータ UTF-8 は 76
 args(1).Value = "44,34,76"
 sFilename= "C:\ABC.txt"
 
 '書き出し
 oTargetDoc.storeToURL(ConvertToUrl(sFilename), args())
 
 '無題2を閉じる
 oTargetDoc.close(true)
 
 'メインを上書き保存
 oMainDoc.store()
End Sub


FilterOptions
http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOoBasic%2FCalc%2FCSV#y4a5a403

シートCOPY後のテキスト出力で無題CALCを制御したい

wansa (2011-05-31 14:12:12 (火))

ご連絡遅れました。~
ごめんなさい。~

上記の内容で解決しました。ありがとうございます。~

無題 2の新規の名称をどのように取得するかに悩んでおりました。~
StarDesktopとThisComponentの違いを改めて、勉強しました。~

お名前:
題名: