こんにちは。
VBAなら、ダイアログのコントロールであれ、セル・シートであれ、自身の親オブジェクトは
Parent プロパティで取得できます。
ダイアログ「コントロール」から「ダイアログ」オブジェクトは [ コントロール.Context ]
「セル」オブジェクトから「シート」オブジェクトは [ セル.Spreadsheet ]
で取得できました。
「シート」オブジェクトから「Calc ドキュメント」オブジェクトを取得する場合のプロパティはありますか?
APIを色々と探していますが見つけられません。
【セルオブジェクト】を引数で受け取るSub/Functionをマイマクロに作成する場合、呼び出し元が
自分自身以外のCalcドキュメントのセルオブジェクトを渡す事も可能です。
こういうケースを考えると、ThisComponent/CurrentComponent では確実性が薄いと思います。
渡されたセルオブジェクトから【親】を遡って 確実にセルが属するCalcドキュメントオブジェクトを
取得したいと思っていますが「シートから親のCalcドキュメント」が判りません。
[解決] Sheetの親としてCalcドキュメントを取得
[解決] Sheetの親としてCalcドキュメントを取得
最後に編集したユーザー K.Tsunoda [ 8月 6, 2010, 11:03 am ], 累計 2 回
Re: Sheetの親としてCalcドキュメントを取得
http://www.oooforum.org/forum/viewtopic.phtml?t=18045
ちょっとぐぐるとこんな記事がでてきました。
ここでは元質問の要求仕様が
・対象となるレンジにユニークな名前が付いている
・そのレンジが含まれているドキュメントが知りたい
というものだったので、今開いているComponentを全部対象にしてループでくるくるまわして強引に
そのレンジがどのComponent内にあるか特定してますね。
(ようはそんな強引なやり方しかないってことなんだと思います。。。)
ちょっとぐぐるとこんな記事がでてきました。
ここでは元質問の要求仕様が
・対象となるレンジにユニークな名前が付いている
・そのレンジが含まれているドキュメントが知りたい
というものだったので、今開いているComponentを全部対象にしてループでくるくるまわして強引に
そのレンジがどのComponent内にあるか特定してますね。
(ようはそんな強引なやり方しかないってことなんだと思います。。。)
Re: Sheetの親としてCalcドキュメントを取得
こんにちは。いつもありがとうございます。
> ようはそんな強引なやり方しかないってことなんだと思います。。。
( ̄Δ ̄;) 力技ですか!
それも最低1つの名前付きセル範囲がある事が前提・・・
開いたばかりの新規ドキュメントには、もう無理ってことですね。
でも、2005年か。 Ver1 とか 2 の始めの頃ですよね。
少しは進歩していないかな・・・
もう少し探してみます。
> ようはそんな強引なやり方しかないってことなんだと思います。。。
( ̄Δ ̄;) 力技ですか!
それも最低1つの名前付きセル範囲がある事が前提・・・
開いたばかりの新規ドキュメントには、もう無理ってことですね。
でも、2005年か。 Ver1 とか 2 の始めの頃ですよね。
少しは進歩していないかな・・・
もう少し探してみます。
-
- 記事: 337
- 登録日時: 6月 21, 2010, 6:52 am
Re: [未] Sheetの親としてCalcドキュメントを取得
質問が書かれて1年以上たちますが...
こちらのプロパティを試してみて下さい。
Doc = Sheet.DrawPage.Forms.Parent
こちらのプロパティを試してみて下さい。
Doc = Sheet.DrawPage.Forms.Parent
Re: [解決] Sheetの親としてCalcドキュメントを取得
MoIshihara さん、こんにちは。
> Doc = Sheet.DrawPage.Forms.Parent
[OOo 3.0.0] でも、上記で「親ドキュメント」を取得できました。
queryIntersection の問題点(指定された2つのセル範囲が同一ドキュメントか)についても、
これで回避する為の事前チェックが可能になります。
ありがとうございました。
> Doc = Sheet.DrawPage.Forms.Parent
[OOo 3.0.0] でも、上記で「親ドキュメント」を取得できました。
queryIntersection の問題点(指定された2つのセル範囲が同一ドキュメントか)についても、
これで回避する為の事前チェックが可能になります。
ありがとうございました。