class RubyXL::DocumentProperties

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