hirax.net::Keywords::「win32ole」のブログ



2010-01-01[n年前へ]

「irbでmethods一覧が出せる」という「Rubyでwin32oleを使うアドバンテージ」 

 「Rubyでwin32oleを使う。

irb
require 'win32ole'
ie = WIN32OLE.new 'InternetExplorer.Application'
ie.ole_methods.map {|m| m.to_s}.sort
 irbでmethods一覧が出てくるので、MSDNの巨大ダンジョンを走り回らなくて良い。コレで、Windows(COM)プログラミングの速度が劇的に速くなると思う。

2010-06-21[n年前へ]

RubyでExcelの複数のグラフをグルグル回すには? 

RubyでExcelの複数のグラフをグルグル回したければ、たとえばこんなコードを書くことになります。適当にExcelでグラフを作りさえすれば、それらのグラフを同じように一括してグルグル回すことができます。ここに挙げた"Rotation"と、あとは、"Elevation"を操作してやりさえすれば、色々な眺め方ができると思います。

require 'win32ole'

excel=WIN32OLE.connect("Excel.Application")
30.step(180,5) do |rot|
  excel.ActiveSheet.ChartObjects.each do |chartObject|
   chartObject.Chart.Rotation=rot  
  end
  sleep(0.05)
end

2010-06-22[n年前へ]

C++で(開いている)エクセルのチャートをグリグリ動かしてみよう!? 

 昨日は、RubyでWin32Oleを使いMicrosoft Excelのチャートを操作するコードを書いたので、今日はC++(Borland C++ Builder)でExcelの三次元チャートをグリグリ動かすためのコードを書いたときのエッセンスをここに書き写してみることにします。こういったコードは書き方を一回眺めれば、あとは比較的簡単に書くことができたりするものですから、ここにメモしておくことにします。下の例は、すでに開かれているエクセルのワークシート上にあるチャートに対して処理をする場合のものになります。

#include <Comobj.hpp>

Varient excel=GetActiveOleObject(
    "Excel.Application");
Varient sheet=excel.OlePropertyGet(
    "ActiveSheet");
Varient chart=sheet.OlePropertyGet(
   "ChartObjects",1).OlePropertyGet(
   "Chart");
int rotation=chart.OlePropertyGet(
   "Rotation");
int elevation=chart.OlePropertyGet(
   "Elevation");
chart.OlePropertySet(
   "Rotation",rotation)
chart.OlePropertySet(
   "Elevation",elevation);
excel=Unassigned;



■Powered by yagm.net