The following code runs fine: require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'' Excel = Microsoft::Office::Interop::Excel but when I try to get the Application object as follows: app = Excel.Application.new I get the following error: excel.rb:0: undefined method `Application'' for Microsoft::Office::Interop::Excel:Module (NoMethodError) am I not understanding how this works or is this just not working yet? -- Posted via http://www.ruby-forum.com/.
I''m replying to my own post because it looks like I found part of my
problem. I changed the code to:
require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c''
include Microsoft::Office::Interop::Excel
excel = ApplicationClass.new
excel.Visible = true
and that works. But I''m still having trouble getting access a Workbook:
p excel.ActiveWorkbook
workbooks = excel.Workbooks
p workbooks.respond_to?(''Open'')
returns:
nil
false
I would be grateful for any help. Thanks, Jeff
Jeff Siebold wrote:> The following code runs fine:
>
> require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
> Culture=neutral, PublicKeyToken=71e9bce111e9429c''
> Excel = Microsoft::Office::Interop::Excel
>
> but when I try to get the Application object as follows:
>
> app = Excel.Application.new
>
> I get the following error:
>
> excel.rb:0: undefined method `Application'' for
> Microsoft::Office::Interop::Excel:Module (NoMethodError)
>
> am I not understanding how this works or is this just not working yet?
--
Posted via http://www.ruby-forum.com/.
When I do this, Excel opens up, but it opens up without a workbook. If I open a
file manually (via Excel''s GUI), then the ActiveWorkbook is populated.
I don''t know the Excel API, but if
excel.workbooks.open("Foo.xls") is supposed to open a workbook in the
Excel instance, then you''ve found a bug. Excel.workbooks.open is being
overridden by Ruby''s Kernel#open method.
If this is the case, can you open a bug at
http://rubyforge.org/tracker/?func=browse&group_id=4359&atid=16798 and
assign it to Tomas?
Thanks,
JD
> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Jeff Siebold
> Sent: Wednesday, April 08, 2009 9:08 AM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] Interop with Excel
>
> I''m replying to my own post because it looks like I found part of
my
> problem. I changed the code to:
>
> require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
> Culture=neutral, PublicKeyToken=71e9bce111e9429c''
> include Microsoft::Office::Interop::Excel
> excel = ApplicationClass.new
> excel.Visible = true
>
> and that works. But I''m still having trouble getting access a
Workbook:
>
> p excel.ActiveWorkbook
> workbooks = excel.Workbooks
> p workbooks.respond_to?(''Open'')
>
> returns:
> nil
> false
>
> I would be grateful for any help. Thanks, Jeff
>
>
> Jeff Siebold wrote:
> > The following code runs fine:
> >
> > require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
> > Culture=neutral, PublicKeyToken=71e9bce111e9429c''
> > Excel = Microsoft::Office::Interop::Excel
> >
> > but when I try to get the Application object as follows:
> >
> > app = Excel.Application.new
> >
> > I get the following error:
> >
> > excel.rb:0: undefined method `Application'' for
> > Microsoft::Office::Interop::Excel:Module (NoMethodError)
> >
> > am I not understanding how this works or is this just not working
> yet?
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
It''s arathe a missing feature. We don''t support COM yet.
Tomas
-----Original Message-----
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at
rubyforge.org] On Behalf Of Jim Deville
Sent: Wednesday, April 08, 2009 10:01 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Interop with Excel
When I do this, Excel opens up, but it opens up without a workbook. If I open a
file manually (via Excel''s GUI), then the ActiveWorkbook is populated.
I don''t know the Excel API, but if
excel.workbooks.open("Foo.xls") is supposed to open a workbook in the
Excel instance, then you''ve found a bug. Excel.workbooks.open is being
overridden by Ruby''s Kernel#open method.
If this is the case, can you open a bug at
http://rubyforge.org/tracker/?func=browse&group_id=4359&atid=16798 and
assign it to Tomas?
Thanks,
JD
> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Jeff Siebold
> Sent: Wednesday, April 08, 2009 9:08 AM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] Interop with Excel
>
> I''m replying to my own post because it looks like I found part of
my
> problem. I changed the code to:
>
> require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
> Culture=neutral, PublicKeyToken=71e9bce111e9429c''
> include Microsoft::Office::Interop::Excel
> excel = ApplicationClass.new
> excel.Visible = true
>
> and that works. But I''m still having trouble getting access a
Workbook:
>
> p excel.ActiveWorkbook
> workbooks = excel.Workbooks
> p workbooks.respond_to?(''Open'')
>
> returns:
> nil
> false
>
> I would be grateful for any help. Thanks, Jeff
>
>
> Jeff Siebold wrote:
> > The following code runs fine:
> >
> > require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
> > Culture=neutral, PublicKeyToken=71e9bce111e9429c''
> > Excel = Microsoft::Office::Interop::Excel
> >
> > but when I try to get the Application object as follows:
> >
> > app = Excel.Application.new
> >
> > I get the following error:
> >
> > excel.rb:0: undefined method `Application'' for
> > Microsoft::Office::Interop::Excel:Module (NoMethodError)
> >
> > am I not understanding how this works or is this just not working
> yet?
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core
This should now mostly work.
respond_to? is not supported for COM yet, but "methods" is (try
workbooks.methods(false)).
require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c''
include Microsoft::Office::Interop::Excel
excel = ApplicationClass.new
excel.Visible = true
workbooks = excel.Workbooks
workbooks.Open(''c:\\foo.xsl'')
You can also do:
def newCOM progId
System::Activator.CreateInstance(System::Type.GetTypeFromProgID(progId))
end
ex = newCOM("Excel.Application")
ex.Visible = true
nb = ex.Workbooks.Add
ws = nb.Worksheets[1]
p ws.Name
10.times do |i|
10.times do |j|
ws.Cells[i + 1, j + 1] = (i + 1) * (j + 1)
end
end
Tomas
-----Original Message-----
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at
rubyforge.org] On Behalf Of Jeff Siebold
Sent: Wednesday, April 08, 2009 9:08 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Interop with Excel
I''m replying to my own post because it looks like I found part of my
problem. I changed the code to:
require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c''
include Microsoft::Office::Interop::Excel
excel = ApplicationClass.new
excel.Visible = true
and that works. But I''m still having trouble getting access a Workbook:
p excel.ActiveWorkbook
workbooks = excel.Workbooks
p workbooks.respond_to?(''Open'')
returns:
nil
false
I would be grateful for any help. Thanks, Jeff
Jeff Siebold wrote:> The following code runs fine:
>
> require ''Microsoft.Office.Interop.Excel, Version=12.0.0.0,
> Culture=neutral, PublicKeyToken=71e9bce111e9429c''
> Excel = Microsoft::Office::Interop::Excel
>
> but when I try to get the Application object as follows:
>
> app = Excel.Application.new
>
> I get the following error:
>
> excel.rb:0: undefined method `Application'' for
> Microsoft::Office::Interop::Excel:Module (NoMethodError)
>
> am I not understanding how this works or is this just not working yet?
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core