• ベストアンサー

VB2005でのEXCEL制御について

いつもお世話になってます。 私はVB入門者です。 VBからシートを選択して値を入れることは出来たのですが 範囲選択→格子罫線をひく、といったような操作について 調べたところ、マクロをつくりコピーアンドペーストでスムーズに いくということがわかったので、試したところうまくいきませんでした。 又、質問ナンバー QNo.3575919 に [Visual Basic2005でExcelに罫線を描く]とあり 「CreateObject("Excel.Application")」はソースに入っているか という部分がポイントのようなので、少しいじってはみたのですが うまくかけませんでした。 と、いうよりも理解できませんでした。 下記のコードでは選択範囲を指定する部分まで成功したものです。 アドバイスよろしくお願いします。 Sub excel_app() Dim xlApp As Excel.Application = Nothing Dim xlBooks As Excel.Workbooks = Nothing Dim xlBook As Excel.Workbook = Nothing Dim xlSheets As Excel.Sheets = Nothing Dim xlSheet As Excel.Worksheet = Nothing xlApp = New Excel.Application() xlBooks = xlApp.Workbooks xlBook = xlBooks.Open("C:\hoge.xls") xlSheets = xlBook.Worksheets xlBook.Worksheets(1).Range("A31:Y55").Select() xlBook.Worksheets(1).Range.Borders. ←これ以降がわかりません。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

VBレスキュー(花ちゃん)を参考に Dim xlApp As Excel.Application = Nothing Dim xlBooks As Excel.Workbooks = Nothing Dim xlBook As Excel.Workbook = Nothing Dim xlSheets As Excel.Sheets = Nothing Dim xlSheet As Excel.Worksheet = Nothing xlApp = New Excel.Application() xlBooks = xlApp.Workbooks xlBook = xlBooks.Open("R:\aaa.xls") xlSheet = xlBook.Worksheets("a") xlApp.Visible = True Dim xlRange As Excel.Range Dim xlBorders As Excel.Borders 'Dim xlBorder As Excel.Border xlRange = xlSheet.Range("B2:F6") xlBorders = xlRange.Borders '枠線を実線で表示 xlBorders.LineStyle = Excel.XlLineStyle.xlContinuous '下側の線を指定 'xlBorder = xlBorders(Excel.XlBordersIndex.xlEdgeBottom) '下側の線を2重線で表示 'xlBorder.LineStyle = Excel.XlLineStyle.xlDouble '右側の線を指定 'xlBorder = xlBorders(Excel.XlBordersIndex.xlEdgeRight) '右側の線を太線で表示 'xlBorder.Weight = Excel.XlBorderWeight.xlThick '左側の線を指定 'xlBorder = xlBorders(Excel.XlBordersIndex.xlEdgeLeft) '左側の線を太線で表示 'xlBorder.LineStyle = Excel.Constants.xlGray75 ブック名・シート名はこちらの環境です。 ご参考になれば。

npupu
質問者

お礼

一定の行数を超えると新たな範囲に罫線をひくという 処理ができました! ありがとうございました。

その他の回答 (1)

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

VB2005がないので何ですが。。。 >xlBook.Worksheets(1).Range("A31:Y55").Select() >xlBook.Worksheets(1).Range.Borders. ←これ以降がわかりません。 罫線を引いたり、色を付けたりの書式を設定するだけであれば セル範囲をSelectする必要はありません。 With xlBook.Worksheets(1).Range("A31:Y55").Borders   .LineStyle = xlContinuous   .Weight = xlThin   .ColorIndex = xlAutomatic End With   各プロパティは自分で調べること。 以上。  

npupu
質問者

お礼

罫線の詳細についても宣言するということですね? うまくできました。ありがとうございました

関連するQ&A

専門家に質問してみよう