Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1751 / 2272 ツリー ←次へ | 前へ→

【5435】EXCELのグループ化を解除できますか? bejikeni 05/6/20(月) 17:12 質問[未読]
【5437】Re:EXCELのグループ化を解除できます... 小僧 05/6/20(月) 19:27 回答[未読]
【5441】Re:EXCELのグループ化を解除できます... 小僧 05/6/21(火) 9:39 回答[未読]
【5467】Re:EXCELのグループ化を解除できます... bejikeni 05/6/21(火) 23:52 お礼[未読]

【5435】EXCELのグループ化を解除できますか?
質問  bejikeni  - 05/6/20(月) 17:12 -

引用なし
パスワード
   いつも、参考にさせてもらって大助かりです。

質問なのですが、EXCELのシート上で、グループ化されたテキストボックスをACCESSのVBAで、解除する方法を教えてもらえますでしょうか。

試行錯誤しましたが、一杯一杯の状態です。
ご教授を宜しくお願いします。

【5437】Re:EXCELのグループ化を解除できます...
回答  小僧  - 05/6/20(月) 19:27 -

引用なし
パスワード
   ▼bejikeni さん:
こんばんは。

※要参照設定 Microsoft Excel x.x Object Library

Sub グループ化解除()
Dim xlsApp As New Excel.Application
Dim xlsWkb As Excel.Workbook
Dim xlsSht As Excel.Worksheet
Dim MyName As String
Dim MySheet As String
Dim Sh As Excel.Shape

  MyName = "C:\Test.xls"
  MySheet = "対象シート"
  
  Set xlsWkb = xlsApp.Workbooks.Open(MyName)
  Set xlsSht = xlsWkb.Sheets(MySheet)
    For Each Sh In xlsSht.Shapes
      If Sh.Type = msoGroup Then
        Debug.Print Sh.Name
      End If
    Next
  set xlsSht = Nothing
  xlsWkb.Close False: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
End Sub

上記のコードで対象シートのグループ名をイミディエトウィンドウに
表示させる事ができます。

あとは「Ungroup」メソッドで解除できると思いますが、未検証です。
ちょっと席を外す都合検証ができませんでしたが取り急ぎ回答をさせて頂きます。

【5441】Re:EXCELのグループ化を解除できます...
回答  小僧  - 05/6/21(火) 9:39 -

引用なし
パスワード
   ▼bejikeni さん:
おはようございます。

昨日のコードの

>        Debug.Print Sh.Name

のところを
         Sh.Ungroup

で解除できそうです。

再びグループ化するには、グループに属していたテキストボックスに対して
「Regroup」メソッドでできる模様です。

【5467】Re:EXCELのグループ化を解除できます...
お礼  bejikeni  - 05/6/21(火) 23:52 -

引用なし
パスワード
   TO 小僧 さん

毎回、的確なアドバイスありがとうございます。
本当に助かりました。ばっちりです。

返事が遅れてスイマセンでした。

1751 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078263
(SS)C-BOARD v3.8 is Free