エクセルを新規に作成しデータを書き込んで保存したときに
ブック内のシートが3つになっているんですが、
これを1つにして保存する方法はありますか?
以下コード
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Name = "Test050524"
'〜書き込み処理省略〜
xlBook.SaveAs "C:\TEST\test.xls"
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
宜しくお願いします。
EXCELメニューのツール→オプション→新しいブックのシート数を
3から1に変更すれば直ります。
規定値を変えるのか嫌なら
Set xlBook = xlApp.Workbooks.Add
のあと
Sheet2 と Sheet3 を削除すれば出来ます
直接関係ないですが
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/12/vbcom/
を参考にされてみたらいかがでしょう。
アーリーバインドとレイトバインドがごっちゃになっています。
Dim xlApp As New Excel.Application
又は
Dim xlApp As Excel.Application
set xlAPP = New Excel.Application
又は
Dim xlApp As object
Set xlApp = CreateObject("Excel.Application")
シートがある文、For で回して削除する。
それだけなのでは?
papaさん ちょっとさん じゃんぬねっとさん
レス ありがとうございました。
シートを削除することで解決いたしました。
作成前に、.SheetsInNewWorkbook プロパティを変更しておく手も。
魔界の仮面弁士さん 遅くなりましたが、ありがとうございました。
シートを削除すると、シートを削除するときにメッセージボックスが
あがって見た目が悪かったんですが、魔界の仮面弁士さんの助言どおり
やってみると、見事メッセージボックスも出なく希望どおりの動作ができました。
>シートを削除すると、シートを削除するときにメッセージボックスが
>あがって見た目が悪かったんですが
それはそれで別の回答が(^^;)
[VB6.0]
xlApp.DisplayAlerts = False
シート削除処理
xlApp.DisplayAlerts = True
ツイート | ![]() |