エクセルファイルを新規に作成してシートを1つにして保存するには

解決


vbクリップ  2005-05-24 22:49:04  No: 90007

エクセルを新規に作成しデータを書き込んで保存したときに
ブック内のシートが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

宜しくお願いします。


papa  2005-05-24 23:26:50  No: 90008

EXCELメニューのツール→オプション→新しいブックのシート数を
3から1に変更すれば直ります。

規定値を変えるのか嫌なら
Set xlBook = xlApp.Workbooks.Add
のあと
Sheet2 と Sheet3 を削除すれば出来ます


ちょっと  2005-05-24 23:45:30  No: 90009

直接関係ないですが
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")


じゃんぬねっと  URL  2005-05-25 00:38:44  No: 90010

シートがある文、For で回して削除する。
それだけなのでは?


vbクリップ  2005-05-25 23:56:31  No: 90011

papaさん ちょっとさん じゃんぬねっとさん 
レス ありがとうございました。
シートを削除することで解決いたしました。


魔界の仮面弁士  2005-05-26 00:26:55  No: 90012

作成前に、.SheetsInNewWorkbook プロパティを変更しておく手も。


vbクリップ  2005-05-26 23:41:40  No: 90013

魔界の仮面弁士さん 遅くなりましたが、ありがとうございました。

シートを削除すると、シートを削除するときにメッセージボックスが
あがって見た目が悪かったんですが、魔界の仮面弁士さんの助言どおり
やってみると、見事メッセージボックスも出なく希望どおりの動作ができました。


特攻隊長まるるう  2005-05-26 23:59:40  No: 90014

>シートを削除すると、シートを削除するときにメッセージボックスが
>あがって見た目が悪かったんですが
それはそれで別の回答が(^^;)
[VB6.0]
        xlApp.DisplayAlerts = False
        シート削除処理
        xlApp.DisplayAlerts = True


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加