Class: WIN32OLE_VARIABLE (Ruby 2.2.2)
Description: Class : WIN32OLE_VARIABLE - Ruby 2.2.2

- Home
- Core 2.2.2
- Std-lib 2.2.2
- Downloads

Support for the Ruby 2.2 series has ended. See here for reference.

### Home Classes Methods

### In Files

- win32ole/win32ole_variable.c

### Parent

Object

### Methods

- #inspect
- #name
- #ole_type
- #ole_type_detail
- #to_s
- #value
- #variable_kind
- #varkind
- #visible?

### Class/Module Index

Quicksearch

- OLEProperty
- WIN32OLE
- WIN32OLE::VARIANT
- WIN32OLERuntimeError
- WIN32OLE_EVENT
- WIN32OLE_METHOD
- WIN32OLE_PARAM
- WIN32OLE_RECORD
- WIN32OLE_TYPE
- WIN32OLE_TYPELIB
- WIN32OLE_VARIABLE
- WIN32OLE_VARIANT

No matching classes.

# WIN32OLE_VARIABLE

`WIN32OLE_VARIABLE` objects represent OLE variable information.

### Public Instance Methods

WIN32OLE_VARIABLE#inspect → String click to toggle source

Returns the OLE variable name and the value with class name.

                   static VALUE
    folevariable_inspect(VALUE self)
    {
        VALUE v = rb_inspect(folevariable_value(self));
        VALUE n = folevariable_name(self);
        VALUE detail = rb_sprintf("%"PRIsVALUE"=%"PRIsVALUE, n, v);
        return make_inspect("WIN32OLE_VARIABLE", detail);
    }

WIN32OLE_VARIABLE#name click to toggle source

Returns the name of variable.

    tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
    variables = tobj.variables
    variables.each do |variable|
      puts "#{variable.name}"
    end

    The result of above script is following:
      xlChart
      xlDialogSheet
      xlExcel4IntlMacroSheet
      xlExcel4MacroSheet
      xlWorksheet

                   static VALUE
    folevariable_name(VALUE self)
    {
        return rb_ivar_get(self, rb_intern("name"));
    }

Also aliased as: to_s
WIN32OLE_VARIABLE#ole_type click to toggle source

Returns OLE type string.

    tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
    variables = tobj.variables
    variables.each do |variable|
      puts "#{variable.ole_type} #{variable.name}"
    end

    The result of above script is following:
      INT xlChart
      INT xlDialogSheet
      INT xlExcel4IntlMacroSheet
      INT xlExcel4MacroSheet
      INT xlWorksheet

                   static VALUE
    folevariable_ole_type(VALUE self)
    {
        struct olevariabledata *pvar;
        TypedData_Get_Struct(self, struct olevariabledata, &olevariable_datatype, pvar);
        return ole_variable_ole_type(pvar->pTypeInfo, pvar->index);
    }

WIN32OLE_VARIABLE#ole_type_detail click to toggle source

Returns detail information of type. The information is array of type.

    tobj = WIN32OLE_TYPE.new('DirectX 7 for Visual Basic Type Library', 'D3DCLIPSTATUS')
    variable = tobj.variables.find {|variable| variable.name == 'lFlags'}
    tdetail  = variable.ole_type_detail
    p tdetail # => ["USERDEFINED", "CONST_D3DCLIPSTATUSFLAGS"]

                   static VALUE
    folevariable_ole_type_detail(VALUE self)
    {
        struct olevariabledata *pvar;
        TypedData_Get_Struct(self, struct olevariabledata, &olevariable_datatype, pvar);
        return ole_variable_ole_type_detail(pvar->pTypeInfo, pvar->index);
    }

to_s() click to toggle source
Alias for: name
WIN32OLE_VARIABLE#value click to toggle source

Returns value if value is exists. If the value does not exist, this method returns nil.

    tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
    variables = tobj.variables
    variables.each do |variable|
      puts "#{variable.name} #{variable.value}"
    end

    The result of above script is following:
      xlChart = -4109
      xlDialogSheet = -4116
      xlExcel4IntlMacroSheet = 4
      xlExcel4MacroSheet = 3
      xlWorksheet = -4167

                   static VALUE
    folevariable_value(VALUE self)
    {
        struct olevariabledata *pvar;
        TypedData_Get_Struct(self, struct olevariabledata, &olevariable_datatype, pvar);
        return ole_variable_value(pvar->pTypeInfo, pvar->index);
    }

WIN32OLE_VARIABLE#variable_kind click to toggle source

Returns variable kind string.

    tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
    variables = tobj.variables
    variables.each do |variable|
      puts "#{variable.name} #{variable.variable_kind}"
    end

    The result of above script is following:
      xlChart CONSTANT
      xlDialogSheet CONSTANT
      xlExcel4IntlMacroSheet CONSTANT
      xlExcel4MacroSheet CONSTANT
      xlWorksheet CONSTANT

                   static VALUE
    folevariable_variable_kind(VALUE self)
    {
        struct olevariabledata *pvar;
        TypedData_Get_Struct(self, struct olevariabledata, &olevariable_datatype, pvar);
        return ole_variable_kind(pvar->pTypeInfo, pvar->index);
    }

WIN32OLE_VARIABLE#varkind click to toggle source

Returns the number which represents variable kind.

    tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
    variables = tobj.variables
    variables.each do |variable|
      puts "#{variable.name} #{variable.varkind}"
    end

    The result of above script is following:
       xlChart 2
       xlDialogSheet 2
       xlExcel4IntlMacroSheet 2
       xlExcel4MacroSheet 2
       xlWorksheet 2

                   static VALUE
    folevariable_varkind(VALUE self)
    {
        struct olevariabledata *pvar;
        TypedData_Get_Struct(self, struct olevariabledata, &olevariable_datatype, pvar);
        return ole_variable_varkind(pvar->pTypeInfo, pvar->index);
    }

WIN32OLE_VARIABLE#visible? click to toggle source

Returns true if the variable is public.

    tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
    variables = tobj.variables
    variables.each do |variable|
      puts "#{variable.name} #{variable.visible?}"
    end

    The result of above script is following:
      xlChart true
      xlDialogSheet true
      xlExcel4IntlMacroSheet true
      xlExcel4MacroSheet true
      xlWorksheet true

                   static VALUE
    folevariable_visible(VALUE self)
    {
        struct olevariabledata *pvar;
        TypedData_Get_Struct(self, struct olevariabledata, &olevariable_datatype, pvar);
        return ole_variable_visible(pvar->pTypeInfo, pvar->index);
    }