- 締切済み
VB.NetでExcelシート削除
独学で、VB2010にてAccess、Excel連携のプログラムを組んでいます。 ある集計結果をExcelに代入してそのシートのみだけにして(その他集計シートがあります。) 別名ファイルでデスクトップへ保存するようにしたいです。 For Each~Nextで指定のシート名以外を削除するというコードを書いたつもりなのですが、うまく動作しません。 ご教授お願いします。 (Excelはcom参照していません。) Private Sub Button出力_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button出力.Click '===============Excel入力=============== Dim xlApplication Dim xlBooks Dim xlSheets xlApplication = CreateObject("Excel.Application") ' Excelのインスタンス作成 'ファイル名(フルパス) Dim xlFilename As String = 集計ExPath xlApplication.Visible = False ' Excelの表示 xlBooks = xlApplication.Workbooks.Open(xlFilename) xlBooks = xlApplication.Workbooks(Dir(xlFilename)) 'Workbook xlSheets = xlBooks.Worksheets("AAA") 'Worksheet その他Excel処理 xlApplication.DisplayAlerts = False Dim DelSheet As Object For Each DelSheet In xlBooks.Worksheets If DelSheet.Name <> "AAA" Then DelSheet.Delete() End If Next xlBooks.saveas(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\新ファイル名.xlsx") xlBooks.Close xlApplication.DisplayAlerts = True xlApplication.Quit() ' Excel を終了する xlSheets = Nothing xlBooks = Nothing xlApplication = Nothing MsgBox("出力処理終了しました。") Me.Close() End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1416)