• ベストアンサー

Excelのブック名の変更

VB.NET 2002でEXCELにDBの内容を書き出す処理をしています。 エクセルのテンプレートで雛形を作り、 xls_Book = xls_App.Workbooks.Add(CurDir() & "\テンプレート.xlt") で開いています。 エクセルをVisible=Trueにすると、ブック名が「テンプレート1」と表示 され、ブック名を変えたいのですが可能でしょうか? 良い方法がありましたら、よろしく お願いします。

noname#233398
noname#233398

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>保存する前に変えることは可能でしょうか? テンプレートから名前が作られますから、保存をせずに名前を変えることはできないと思います。 セーブせずに名前を変えるというと Thisworkbook.name="新しい名前" とかできるといいのですが、.nameは取得のみしかできないのでそのようなことはできません。 Visible=Trueにする前に、開いてすぐsaveasすればいいと思いますが・

noname#233398
質問者

お礼

保存しないとダメなのですね、勉強になりました。 ありがとうございました^^。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

xls_Book.Saveas("Change.xls") とかして名前を付けて保存する

noname#233398
質問者

補足

こんにちは、回答有難うございます。 保存する前に変えることは可能でしょうか?

関連するQ&A

  • ACCESSからexcelを操作

    accessのVBからEXCELのデータ編集を行う際、 最後エクセルを開放しているつもりなのですが、できていないようです。 ※タスクマネージャーにエクセルのタスクが残っており、 該当のファイルを開くと白くなっている。閉じて再度開くと正常動作する。 いくつかの帳票がありますが、 現象が起こるものと起こらないものがあります。 試しに Xls_app.ScreenUpdating = Trueにしてみるとタスクには残っているが 問題なく開けます。 Xls_app.ScreenUpdating = Falseだとタスクにも残るし、ファイルを開くと白くなっているような感じです。 しかし発生原因がわからず、再発するような気もするので根本原因を 突き止めたいです。 Excel起動時 ---------------- Set Xls_app = CreateObject("Excel.Application") Set Xls_book = Xls_app.Workbooks.Open(STR_out_file) Set Xls_sheet = Xls_book.Worksheets(STR_sheet1) Set Xls_sheet2 = Xls_book.Worksheets(STR_sheet2) 'DEBUG Xls_app.Visible = False Xls_app.ScreenUpdating = False Xls_app.UserControl = True ' Xls_app.Visible = True ' Xls_app.ScreenUpdating = True Private Sub Excel終了()----------------------- Xls_book.Close (True) Xls_app.Quit Set Xls_sheet = Nothing Set Xls_sheet2 = Nothing Set Xls_book = Nothing Set Xls_app = Nothing End Sub

  • ブックを作成するマクロ

    エクセルで、以下のマクロを実行すると新規のブックを作成します。 Workbooks.Add この時のブック名はBook1になりますが、任意のブック名を指定するにはどうすればいいでしょうか?

  • Excel VBA別ブックのシートをコピーするには

    Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls)  VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート  なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが  別フォルダにもあります   Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。

  • 【VB6】EXCELのシート名を変更したい

    お世話になっております。 VB6(visual basic 6)プログラムからEXCELのシート名を指定したいです。 EXCEL:EXCEL 2000 OS: win XP 以下の記述ではシート名がデフォルトのままです。 (sheet1のままで変更できていない) Dim fs As Object Dim oApp As Object Set oApp = CreateObject("Excel.Application")'EXCEL起動 oApp.Visible = True oApp.UserControl = True oApp.Workbooks.Add '新規のワークシートsheet1を追加する oApp.Cells(1, 1) = "シート名を指定したい!" 'セル入力はできた oApp.Sheets("sheet").select oApp.Sheets("sheet").Name = "新シート名" ご覧のように (1)自動EXCEL起動して (2)セル1,1に文字入力して (3)シート名を指定 しようとしております。 セル(1,1)に「シート名を指定したい!」は入力されております。 ブック名(ファイル名)はデフォルトのBook1.xlsです。 シート名の指定方法が間違っているからうまくいかないと思っております。 どうぞよろしくお願いいたします。

  • Excel マクロによる新規ブック作成について

    Excelで質問です。 ボタンをクリックすると新規ブックを作成するようにしたいのですがうまくいかず・・・。何かいい方法はないでしょうか。よろしくお願いします。 Sub ボタン_Click() Workbooks.Add.SaveAs Filename:="C:\temp\1-50.xls" End Sub にてブックを作成することは出来るのですが、その作成したExcelのシートの数を50個にし、さらにそのシートに「1」から「50」というシート名を付けたいのですが不可能でしょうか。 よろしくお願いします。

  • excel vba

    テーブル情報に基づきシートをコピーするVBAマクロを記述したい。 ExcelのBook111のSheet1に次のような データが入っています。 (1、2)セルにn=3という数字が入っているものとします。 その数値に合わせて、この場合は3なので Sub Sample01() Workbooks("Book3.xls").Worksheets("booksheet3").Copy After:=Workbooks("Book111.xls").Sheet(1) End Sub のようなつまり、booksheet3なるシートをBook111(固定なBOOK)にコピーしようとしています。 このようなことをVBAで書くにはどうすればいいのでしょうか。 ただしBook名とシート名はあくまでデータの値にもとづいたデータをもってくることになります。 要するに間接参照したデータに基づき処理するのをどのように記述するかという質問です。 A列 B列 1 回数 n=3 2     3     4 Book1.xls book1sheet ←n=1 5 Book2.xls book2sheet ←n=2 6 Book3.xls book3sheet ←n=3 7 Book4.xls book4sheet 8 Book5.xls book5sheet 9 Book6.xls book6sheet ←n=6 10 Abc,xls Defsheet ←n=7

  • AccessでExcelのSheet間のコピーをしたい

    ACCESSのデータを読み込み、エクセルの元帳からレイアウトをコピー、新しいExcelのSheetにレイアウトとデータを書き込もうとしていますがうまく動きません。どこが悪いのでしょうか?次のように書きました。 Private Sub NEW_BOOK() Dim xlBookOrig As Workbook Dim xlBookNew As Workbook Dim xlSheetOrig As Worksheet Dim xlSheetNew As Worksheet Set xlApp = CreateObject("Excel.Application") xlApp.Application.Visible = True Set xlBookOrig = xlApp.Workbooks.Open("C:\元帳.xls") Set xlSheetOrig = xlBookOrig.Worksheets(1) Set xlBookNew = xlApp.Workbooks.Add Set xlSheetNew = xlBookNew.Worksheets(1) xlSheetOrig.Copy xlSheetNew.Paste xlSheetNew.Name = Left$(strMODL, 9) xlSheetNew.Cells(5, 1).Value = strSTAT xlSheetNew.Cells(4, 3).Value = strITEM ..... xlSheetNew.SaveAs "C:\'" & Left$(strMODL, 7) & "'.xls" これで実行すると、BOOK1 BOOK2 の2つが生成され、 BOOK1にはSHEET名、各データが書き込まれ、BOOK2には元帳のレイアウトがコピーされレイアウトとデータが一つになりません。 どこが間違っているのでしょうか? 宜しくお願いします

  • Book間の移動

    Excel VBA でBook2にシートを移動した後、元のBook1に自動で戻る VBAを教えたください。 Sub シートを移動する() Windows("Book1.xls").Activate Sheets(エリカ).Select Sheets(エリカ).Move After:=Workbooks("Book2").Sheets(1) このあとBook1に戻りたい! End Sub

  • EXCELのブック間リンクの自動変更について

    EXCELのブック間リンクの自動変更について C:\aaa に2つのブックがあります。  book1.xls  book2.xls それで  book1.xls のあるセルに以下の計算式があります  ='C:\aaa\[book2.xls]Sheet1'!A1 この2つのファイルを別のPCの任意のフォルダ(例えばD:\eee\)移動した場合、 移動後の上記のbook1.xlsを開くと計算式が  ='D:\eee\[book2.xls]Sheet1'!A1  に自動で変わってます。 これはどういう仕組みでしょうか? 常にこうなるのかどこかの設定で 自動or手動など変えられるのでしょうか? 先方にメールで送るのですが、先方側でパスが自動で変わってくれるのか が心配です。どなたか教えて頂けませんか?  

  • VBAでエクセルからエクセルのファイルを開くには?

    D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。

専門家に質問してみよう