class RubyXL::DocumentProperties
def self.filepath
def self.filepath File.join('docProps', 'app.xml') end
def add_part_title(name)
def add_part_title(name) titles_of_parts.vt_vector.vt_lpstr << RubyXL::StringNode.new(:value => name) end
def add_parts_count(name, count)
def add_parts_count(name, count) return unless count > 0 heading_pairs.vt_vector.vt_variant << RubyXL::Variant.new(:vt_lpstr => RubyXL::StringNode.new(:value => name)) heading_pairs.vt_vector.vt_variant << RubyXL::Variant.new(:vt_i4 => RubyXL::IntegerNode.new(:value => count)) end
def before_write_xml
def before_write_xml if @workbook then self.heading_pairs = RubyXL::VectorValue.new(:vt_vector => RubyXL::Vector.new(:base_type => 'variant')) self.titles_of_parts = RubyXL::VectorValue.new(:vt_vector => RubyXL::Vector.new(:base_type => 'lpstr')) add_parts_count('Worksheets', @workbook.worksheets.size) @workbook.worksheets.each { |sheet| add_part_title(sheet.sheet_name) } if @workbook.defined_name_container then add_parts_count('Named Ranges', @workbook.defined_name_container.defined_names.size) @workbook.defined_name_container.defined_names.each { |defined_name| add_part_title(defined_name.name) } end end true end