- ベストアンサー
Exelのsheetをアクティブにする方法
VB2008を使用している初心者です。 Excelをオープンすることは出来ましたが、作業するSheetの指定が出来なくてこまっています。作業するSheetをアクテイブにするためのコード、プロパティ、パラメータ、など教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VB2008でExcelのVBプロパティを使うには、「Microsoft Excel Object Library」の参照が必要になります。 VB2008でその設定が抜けているので、COMExceptionが発生するだけです。 ライブラリの参照方法については、参考URLを参照してみてください。 ご参考まで。
その他の回答 (3)
- sujino
- ベストアンサー率30% (3/10)
ごめんなさい、vb2008だったのでね。 vbaと勘違いしておりました、勘違いの回答でお騒がせして申し訳ありませんでした。
お礼
ありがとうございました。暗中模索し、下記にて指定できました。ただし適当にいじっていたら出来てしまった。ということで内容は全然理解できていません。 'シートを"配布用名簿"に設定 exSheet = oWBook.Worksheets("配布用名簿") exSheet.Select()
- sujino
- ベストアンサー率30% (3/10)
私もあまり、エクセルVBAは詳しくは無いのですが、テストで下記作ってみましたがが、ちゃんとシートがアクティブになってます? Public Function SheetName() 'シート名変数定義 Dim strSheetName As String '指定シートアクティブ ActiveWorkbook.Worksheets("Sheet2").Activate 'シート名変数へアクティブシート名代入 strSheetName = ActiveSheet.Name 'シート名をメッセージボックスで表示 MsgBox strSheetName End Function ↓の"シート名"を入れ替え実行すると、現在アクティブなシート名を表示します。 ActiveWorkbook.Worksheets("Sheet2").Activate
補足
ありがとうございます。 VB2008での話ですので、VBAとは違うのではないでしょうか。
- sujino
- ベストアンサー率30% (3/10)
私は、「ActiveWorkbook.Worksheets("シート名").Activate」 と書いてます。
補足
ありがとうございます。 早速追加して確認したところ、”ActiveWorkbook”は宣言されていません、とエラーメッセージが出ましたので”Dim ActiveWorkbook = New Excel.Application”を追加しました。 エラーメッセージはなくなりましらが、デバッグ時に”ActiveWorkbook.Worksheets("配布用名簿").Activate()”の所で「COMExceptionはハンドルされませんでした」とエラーメッセージが表示され停止してしまいます。他の所に原因があるのかもしれませんが、初心者ですので対応できません。確認すべき事項などありましたらお教え下さい。 なお”配布用名簿”はシートの名称です。
補足
質問した時点で”Microsoft.Office.Interop.Excel”は参照に追加しています。 最終的には exSheet = oWBook.Worksheets("配布用名簿") exSheet.Select() で設定できるようになりましたが、盲目撃ちに撃った弾がたまたま当たっただけで、理解しているわけではありません。これで良くなった訳を教えて頂けるとありがたいです。