tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Excel のシート数・シート名の取得及びシートの追加・削除(VB.NET) ( No.20 )  [親スレッドへ]
日時: 2012/06/06 19:16
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[エクセル][][]                                                      *
* キーワード:Excel VBA,Excel2010,シート数,シート名,シートの追加,シートの削除     *
***********************************************************************************
'===================================================================================================
'投 稿 日:2012.05.06
'投 稿 者:VBレスキュー(花ちゃん)
'タイトル:Excel のシート数・シート名の取得及びシートの追加・削除
'========1=========2=========3=========4=========5=========6=========7=========8=========9=========0

Private Sub Button18_Click(sender As System.Object, e As System.EventArgs) Handles Button18.Click
   Call ExcelOpen("", "")     '新規ファイルをオープンして、Excel を起動
   '============== シート数・シート名の取得及びシートの追加・削除 ===============

   '-------------------- 下記のVB6.0用コードを移植 ---------------------------
   ' http://hanatyan.sakura.ne.jp/patio/read.cgi?mode=view2&f=128&no=7
   '--------------------------------------------------------------------------

   'シート(Worksheet)数の取得
   Dim sheetCount As Integer
   sheetCount = xlSheets.Count
   'Excel の裏に隠れたりしますので、オーナーウィンドウ(Me)を指定下さい。
   MessageBox.Show(Me, "現在のシート(Worksheet)数 = " & sheetCount & " です。")

   '新規にシートを追加
   Dim xlSheet2 As Excel.Worksheet
   xlSheet2 = DirectCast(xlSheets.Add, Excel.Worksheet)
   MRComObject(xlSheet2)

   sheetCount = xlSheets.Count
   MessageBox.Show(Me, "シートを1個追加したので、Worksheet 数 = " & sheetCount & " です。")

   '追加したシートの名前を取得
   Dim xlSheet1 As Excel.Worksheet
   xlSheet1 = DirectCast(xlSheets.Item(sheetCount), Excel.Worksheet)
   MessageBox.Show(Me, "追加したシート名 = " & xlSheet1.Name & " です。")

   '追加したシートの名前を変更
   xlSheet1.Name = "Test1"

   '変更したシート名を取得(確認)
   MessageBox.Show(Me, "シート名を " & xlSheet1.Name & " に変更しました。")

   '追加したシートを削除
   xlSheet1.Delete()
   sheetCount = xlSheets.Count
   MRComObject(xlSheet1)
   MessageBox.Show(Me, "追加したシートを削除したので、Worksheet 数 = " & sheetCount & " です。")

   'シート名の取得
   Dim xlElement As Excel.Worksheet = Nothing
   For Each xlElement In xlSheets
      Debug.Print(xlElement.Name)
      MRComObject(xlElement)
   Next

   '-----------------------------------------------------------------------
   '新規にBook を開いた時に表示したいシート数を設定する場合
   'Excelのツール→オプション→全般→新しいブックのシート数 の設定と同じ

   'xlApp.SheetsInNewWorkbook = 1

   'Book をオープンする前に書いて下さい。
   '-----------------------------------------------------------------------

   '=============================================================================
   'Excelファイルを上書き保存(True 又省略すれば)して終了処理を実行
   Call ExcelClose(IO.Path.GetFullPath(".\Test.xlsx"), False)  'False の場合保存しないで終了
   'Excel.EXE がタスクマネージャに残っていないか調査(実使用時は必要なし)
   Call ProcessCheck()
End Sub



 [スレッド一覧へ] [親スレッドへ]