前提
Visual Studio 2008
VB.NETにてプログラムを書き、顧客先のEXCELファイルを操作する必要が出てきました。
顧客先のExcelバージョンが異なることから、OCM等の参照(プラグイン)機能は使用が出来ません。
excelApp = CreateObject("Excel.Application")
を用いてEXCEL操作を行います。
実現したいこと
・EXCELファイル内にあるコンボボックスのリストを操作する
例)▽犬,猫,ペンギン ⇒ ▽トラ,ライオン,チーター
発生している問題・エラーメッセージ
OCM参照を用いた際は以下の文法で実現が可能です。
Dim excelApp As Object = Nothing Dim excelBooks As Object = Nothing Dim excelBook As Object = Nothing Dim excelSheets As Object = Nothing Dim xlsValidation As Object = Nothing Dim ExcelRange As Object = Nothing excelApp = CreateObject("Excel.Application") excelBooks = excelApp.Workbooks excelBook = excelBooks.Open("C:\###\###\###\####.xlsx") excelSheets = excelBook.Sheets("Sheet1") Dim excelR = excelSheets.Cells(1, 1) xlsValidation = excelR.Validation xlsValidation.Delete() xlsValidation.Add(excelApp.XlDVType.xlValidateList, Formula1:="トラ,ライオン,チーター") excelBook.Save() excelApp.Quit()
ただ、excelApp = CreateObject("Excel.Application") でEXCELを使用した場合は、
以下のコードでエラーが発生します。
xlsValidation.Add(excelApp.XlDVType.xlValidateList, Formula1:="トラ,ライオン,チーター")
エラー内容としては、XlDVType.xlValidateList が存在しない、といったものになります。
試したこと
XlDVType.xlValidateList のようなVBA関数を検索で探してみましたが発見することが
出来ませんでした。
手詰まりな状況でして、この場合の解決方法、
コンボボックスの編集方法についてご存じの方がいましたらご教示いただけますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/05 06:08
2022/09/05 06:50
2022/09/06 05:50