• 締切済み

Visual Basic2005でExcelに罫線を描く

Visual Basic 2005 でデーターをエクセルに書き込んだが、各セルに罫線枠を書けません。エクセルのマクロをコピーして使用しても認識できません。 何か基本的設定ミスがありそうです。 どなたか、アドヴァイスをお願いします。    ※ Visual Basic = 2005, Excel = 2003 使用

みんなの回答

  • tomo316
  • ベストアンサー率35% (51/142)
回答No.2

>(1)複数個のセルを一つの枠で囲む方法(自分でも工夫します)  頑張ってください。 >(2)古いExcelファイルの「Sheet1」に、VB2005 から書き込む時 1, ブックのオープン Set xlBook = xlApp.Workbooks.Addを  Set xlBook = xlApp.Workbooks.Open "E:\work\vba086.xls" 変えればどうでしょう。 2、シートオープン Set xlSheet = xlBook.Worksheets.Addを   Set xlSheet = Excel.xlBook.Sheets( シート名 ) に変える。 3、表示 表示されていない場合入れてみてください。 xlBook.Visible = True ' 表示 4、ファイルのセーブ   xlBook.Save  5、シートを閉じる   Set xlSheet = Nothing  6、ファイルを閉じる   xlBook.Close   Set xlBook = Nothing 確認:(これ一番にやることです) 参照設定はできていますか? [プロジェクトメニュー]の[参照設定]をクリックしてください。一覧表が出てくるのでその中から、Microsoft Excel 9.0 Object Library を選んでチェックします。(Excelのバージョンによって数字の部分は変わります。)

J_Kuma
質問者

補足

※基礎知識もなく、必要部分だけを文献から応用使用しているので  ご迷惑を、おかけしています。  罫線の部分は使いこなせそうです。これで書類の体裁を整える事が出 来ました。  エクセル書類の書き換えで、ファイルを[Open]は下記で開けるのです が、書き込み段階でエラーが発生します。 ------------------------------------------------------------ Ret = OpenFileDialog1.ShowDialog() If Ret = Windows.Forms.DialogResult.OK Then End If Shell = CreateObject("Shell.Application") Shell.shellexecute(OpenFileDialog1.FileName, ,Application.StartupPath, "open", 1)  (ここでファイルは開きます) xlApp = GetObject(, "Excel.Application") ------------------------------------------------------------ ここで「"WorkBook"」型は「"Application"」に見つかりません。   となります     Set xlBook, set Sheet が出来ていないと思います。 1.ブックオープンの "E:\work\vba086.xls" は Path を示して     いるのでしょうか。小生のPCでは ?     この部分でご指示内容のテストは出来ませんでした。   ※恐縮ですが、再度のご教示をお願いします。

  • tomo316
  • ベストアンサー率35% (51/142)
回答No.1

参考まで。 「CreateObject("Excel.Application")」はソースに入っていますか?   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.Add '表に罫線を引く 指定範囲に格子の罫線を引く xlSheet.Range("A1:F6").Borders.LineStyle = xlContinuous  '実線 '表の外枠を太線に xlSheet.Range("A1:F6").Borders(xlEdgeTop).LineStyle = xlGray75 xlSheet.Range("A1:F6").Borders(xlEdgeLeft).LineStyle = xlGray75 xlSheet.Range("A1:F6").Borders(xlEdgeRight).LineStyle = xlGray75 xlSheet.Range("A6:F6").Borders(xlEdgeBottom).LineStyle = xlGray75 '項目欄を二重線で区切る xlSheet.Range("A1:F1").Borders(xlEdgeBottom).LineStyle = xlDouble xlSheet.Range("B1:B6").Borders(xlEdgeLeft).LineStyle = xlDouble

J_Kuma
質問者

補足

早速のご回答有難う御座いました。 即、TESTの結果はOKでしたが、あと2点だけ再質問させて下さい。  (1)複数個のセルを一つの枠で囲む方法(自分でも工夫します)  (2)古いExcelファイルの「Sheet1」に、VB2005 から書き込む時     CreateObject("****") 以下のセッテングが巧くできません。

関連するQ&A