Sha256: b100d96a09902691f0bd7d8d5f99b397ddf348d1a16be8dc3e2b90eb839763d4

Contents?: true

Size: 1.14 KB

Versions: 29

Compression:

Stored size: 1.14 KB

Contents

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

#######################################################################
#
# An example of adding macros to an Excel::Writer::XLSX file using
# a VBA project file extracted from an existing Excel xlsm file.
#
# The C<extract_vba> utility supplied with Excel::Writer::XLSX can be
# used to extract the vbaProject.bin file.
#
# reverse('(c)'), November 2012, John McNamara, jmcnamara@cpan.org
# convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
#

require 'rubygems'
require 'write_xlsx'

# Note the file extension should be .xlsm.
workbook  = WriteXLSX.new('add_vba_project.xlsm')
worksheet = workbook.add_worksheet

worksheet.set_column('A:A', 50)

# Add the VBA project binary.
workbook.add_vba_project(File.join(File.dirname(__FILE__), 'vbaProject.bin'))

# Show text for the end user.
worksheet.write('A1', 'Run the SampleMacro embedded in this file.')
worksheet.write('A2', 'You may have to turn on the Excel Developer option first.')

# Call a user defined function from the VBA project.
worksheet.write('A6', 'Result from a user defined function:')
worksheet.write('B6', '=MyFunction(7)')

workbook.close

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
write_xlsx-0.81.0 examples/add_vba_project.rb
write_xlsx-0.80.0 examples/add_vba_project.rb
write_xlsx-0.79.0 examples/add_vba_project.rb
write_xlsx-0.78.0 examples/add_vba_project.rb
write_xlsx-0.77.2 examples/add_vba_project.rb
write_xlsx-0.77.1 examples/add_vba_project.rb
write_xlsx-0.77.0 examples/add_vba_project.rb
write_xlsx-0.76.3 examples/add_vba_project.rb
write_xlsx-0.76.2 examples/add_vba_project.rb
write_xlsx-0.76.1 examples/add_vba_project.rb
write_xlsx-0.76.0 examples/add_vba_project.rb
write_xlsx-0.75.0 examples/add_vba_project.rb
write_xlsx-0.74.0 examples/add_vba_project.rb
write_xlsx-0.73.0 examples/add_vba_project.rb
write_xlsx-0.72.3.beta1 examples/add_vba_project.rb
write_xlsx-0.72.2 examples/add_vba_project.rb
write_xlsx-0.72.1 examples/add_vba_project.rb
write_xlsx-0.72.0 examples/add_vba_project.rb
write_xlsx-0.71.0 examples/add_vba_project.rb
write_xlsx-0.70.0 examples/add_vba_project.rb