Avatar of enari
enari
 asked on

excel automation inside VB missing declarations

Hi.

I have an excel sheet inside my VB application.  I need to make a drop down box for selections.
The code to make the drop down, according to the VBA inside Excel is:

        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$A$2:$A$4"

Only problem, is inside VB, it does not recognize "xlValidateList" or "xlValidAlertStop" or "xlBetween"

It IS clunky having to use Excel inside VB, but unfortunatly i need it.

I have the following references:

* axowc11
* excel
* microsoft.office.core
*OWC11

What am i missing?

Thanks
Victoria
Visual Basic.NET

Avatar of undefined
Last Comment
enari

8/22/2022 - Mon
vadim63

Hi enari,

Add this line before your class:

Imports Microsoft.Office.Interop

And then, VB will recognize it:

        Excel.XlDVType.xlValidateList
        Excel.XlDVAlertStyle.xlValidAlertStop
        Excel.XlFormatConditionOperator.xlBetween

Cheers!
enari

ASKER
Thanks, but I get the following error then:


 Namespace or type 'Interop' for the Imports 'Microsoft.Office.Interop' cannot be found.
ASKER CERTIFIED SOLUTION
vadim63

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
enari

ASKER
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
enari

ASKER
except...

Run-time exception thrown : System.MissingMemberException - Public member 'Validation' on type 'Range' not found.

        For i = 2 To irows - 1
            For j = 2 To icols - 1
                loc = Me.cbxAlpha.Text & i
                With Me.SpdAttend.Worksheets(1).range("b5").Validation
                    .Delete()
                    .Add(Type:=Microsoft.Office.Interop.Excel.XlDVType.xlValidateList, AlertStyle:=Excel.XlDVAlertStyle.xlValidAlertStop, Operator:=Excel.XlFormatConditionOperator.xlBetween, Formula1:="=$Z$1:$Z$4")
                    .IgnoreBlank = True
                    .InCellDropdown = True
                    .InputTitle = ""
                    .ErrorTitle = ""
                    .InputMessage = ""
                    .ErrorMessage = ""
                    .ShowInput = True
                    .ShowError = True
                End With