[解決] Sheetの親としてCalcドキュメントを取得

スプレッドシート (Calc) について
返信する
K.Tsunoda
記事: 71
登録日時: 11月 2, 2008, 6:44 pm
連絡する:

[解決] Sheetの親としてCalcドキュメントを取得

投稿記事 by K.Tsunoda »

こんにちは。
VBAなら、ダイアログのコントロールであれ、セル・シートであれ、自身の親オブジェクトは
Parent プロパティで取得できます。

ダイアログ「コントロール」から「ダイアログ」オブジェクトは [ コントロール.Context ]
「セル」オブジェクトから「シート」オブジェクトは [ セル.Spreadsheet ]
で取得できました。

「シート」オブジェクトから「Calc ドキュメント」オブジェクトを取得する場合のプロパティはありますか?
APIを色々と探していますが見つけられません。

【セルオブジェクト】を引数で受け取るSub/Functionをマイマクロに作成する場合、呼び出し元が
自分自身以外のCalcドキュメントのセルオブジェクトを渡す事も可能です。
こういうケースを考えると、ThisComponent/CurrentComponent では確実性が薄いと思います。
渡されたセルオブジェクトから【親】を遡って 確実にセルが属するCalcドキュメントオブジェクトを
取得したいと思っていますが「シートから親のCalcドキュメント」が判りません。
最後に編集したユーザー K.Tsunoda [ 8月 6, 2010, 11:03 am ], 累計 2 回
tani
記事: 60
登録日時: 6月 13, 2008, 10:12 am

Re: Sheetの親としてCalcドキュメントを取得

投稿記事 by tani »

http://www.oooforum.org/forum/viewtopic.phtml?t=18045

ちょっとぐぐるとこんな記事がでてきました。
ここでは元質問の要求仕様が
・対象となるレンジにユニークな名前が付いている
・そのレンジが含まれているドキュメントが知りたい
というものだったので、今開いているComponentを全部対象にしてループでくるくるまわして強引に
そのレンジがどのComponent内にあるか特定してますね。
(ようはそんな強引なやり方しかないってことなんだと思います。。。)
K.Tsunoda
記事: 71
登録日時: 11月 2, 2008, 6:44 pm
連絡する:

Re: Sheetの親としてCalcドキュメントを取得

投稿記事 by K.Tsunoda »

こんにちは。いつもありがとうございます。

> ようはそんな強引なやり方しかないってことなんだと思います。。。
( ̄Δ ̄;) 力技ですか!

それも最低1つの名前付きセル範囲がある事が前提・・・
開いたばかりの新規ドキュメントには、もう無理ってことですね。

でも、2005年か。 Ver1 とか 2 の始めの頃ですよね。
少しは進歩していないかな・・・
もう少し探してみます。
MoIshihara
記事: 337
登録日時: 6月 21, 2010, 6:52 am

Re: [未] Sheetの親としてCalcドキュメントを取得

投稿記事 by MoIshihara »

質問が書かれて1年以上たちますが...
こちらのプロパティを試してみて下さい。

Doc = Sheet.DrawPage.Forms.Parent
K.Tsunoda
記事: 71
登録日時: 11月 2, 2008, 6:44 pm
連絡する:

Re: [解決] Sheetの親としてCalcドキュメントを取得

投稿記事 by K.Tsunoda »

MoIshihara さん、こんにちは。

> Doc = Sheet.DrawPage.Forms.Parent

[OOo 3.0.0] でも、上記で「親ドキュメント」を取得できました。

queryIntersection の問題点(指定された2つのセル範囲が同一ドキュメントか)についても、
これで回避する為の事前チェックが可能になります。

ありがとうございました。
返信する

“Calc”に戻る