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

とアラートの表示を止めている。

 

スキルを使って、就職/転職/副業する時のサイト

プログラミングのスキルなどを、自分なりに高めた上で、

自分のスキルをアピールして就職や転職を行い、年収をあげるか、

副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。

まずはできる範囲で取り組むことで、

少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。

おすすめ書籍

広告

おすすめ記事