- ベストアンサー
VB.net(2003)でのexcel操作
現在vb.netを使用してのExcelそうさプログラミングを作っており、excel sheetへの文字入力はできるようになりました。そこで質問なのですが、excelシートの特定のセルの値が5だった場合にその隣のセルのあたいを10にするというプログラムを作りたいのですが、VBAではとても簡単なのですが、vb.netを使用してどのようにやればよいかがわからないのでご教示いただきたいです。activecell.offset(0,1)やcells.findのような、VBAをVB.netから使用する方法はあるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Imports System Imports Microsoft.VisualBasic Namespace Example Class Sample Shared Sub Main() Dim excel As Object excel = GetObject("D:\sample\test.xls") dim A1 as integer = excel.Sheets("Sheet1").Range("A1").value '特定のセル Console.WriteLine(A1) If A1 = 5 Then excel.Sheets("Sheet1").Cells(1,1).Offset(0,1).value=10 '隣のセルに10 End if Console.WriteLine(excel.Sheets("Sheet1").Range("A1").Offset(0,1).value) End Sub End Class End Namespace ---------------------------------------------------------------- のように、上記でいうexcel(アプリケーションオブジェクト)から正しく階層をたどれば、VBAと同じようにできますよ。 あと、適当な階層毎に適当なオブジェクトを作っておけば、いつもトップからたどらなくてもいいです。 サンプルのあと、保存して閉じる必要があるけど、それはそれで。
お礼
ご回答ありがとうございました。 実験してみたところ、成功しました。 本当にありがとうございます。