RubyでExcel操作メモ_007_シートの削除
Rubyから「win32ole」というのを使って、
色々と操作できるようなので、
使ってみたときのメモを残していく。
今回はシートの削除。
<Rubyのソース>
#! ruby -Ks
require ‘win32ole’
class FileCls
INFILENAME = ‘C:\\rb\\file.xlsx’
CHKNAME = ‘shtname’
@@aryData = []
def self.getary(book)
book.sheets.each do |sht|
@@aryData << sht.name
end
return @@aryData
end
def self.existname(name)
@@aryData.each do |shtname|
if shtname == name then
@@aryData.delete(name)
return true
end
end
return false
end
end
app = WIN32OLE.new(‘Excel.Application’)
app.DisplayAlerts = false
inpath = FileCls::INFILENAME
inbook = app.Workbooks.Open(inpath)
aryName = FileCls::getary(inbook)
if FileCls::existname(FileCls::CHKNAME) then
aryName.each do |name|
inbook.sheets(name).delete
end
end
inbook.save
inbook.close(true)
app.quit
処理的には指定のシート名以外のシートは
すべて削除する処理を行っている。
先頭の宣言、
#! ruby -Ks
は日本語を扱うための記載。
また、削除時にファイルの更新を行う際、
確認ダイアログの表示を行いたくないので、
app.DisplayAlerts = false
とアラートの表示を止めている。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。