robust_excel_ole 0.6 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog +12 -0
- data/README.rdoc +5 -3
- data/README_detail.rdoc +1 -1
- data/examples/edit_sheets/example_adding_sheets.rb +1 -1
- data/examples/edit_sheets/example_expanding.rb +1 -1
- data/examples/open_save_close/example_control_to_excel.rb +2 -2
- data/examples/open_save_close/example_if_obstructed_closeifsaved.rb +1 -1
- data/examples/open_save_close/example_if_obstructed_forget.rb +1 -1
- data/examples/open_save_close/example_if_unsaved_accept.rb +2 -2
- data/examples/open_save_close/example_read_only.rb +1 -1
- data/examples/open_save_close/example_simple.rb +1 -1
- data/lib/robust_excel_ole/book.rb +89 -111
- data/lib/robust_excel_ole/excel.rb +49 -50
- data/lib/robust_excel_ole/general.rb +3 -3
- data/lib/robust_excel_ole/reo_common.rb +78 -1
- data/lib/robust_excel_ole/sheet.rb +16 -23
- data/lib/robust_excel_ole/version.rb +1 -1
- data/spec/book_spec.rb +7 -7
- data/spec/book_specs/book_close_spec.rb +24 -5
- data/spec/book_specs/book_misc_spec.rb +16 -7
- data/spec/book_specs/book_open_spec.rb +15 -20
- data/spec/book_specs/book_save_spec.rb +21 -21
- data/spec/book_specs/book_sheet_spec.rb +3 -3
- data/spec/book_specs/book_unobtr_spec.rb +1 -1
- data/spec/data/book_with_blank.xls +0 -0
- data/spec/data/different_workbook.xls +0 -0
- data/spec/data/refed_wb.xls +0 -0
- data/spec/data/reference_workbook.xls +0 -0
- data/spec/data/referencing_wb.xls +0 -0
- data/spec/data/workbook.xls +0 -0
- data/spec/excel_spec.rb +87 -125
- data/spec/general_spec.rb +2 -2
- data/spec/reo_common_spec.rb +1 -1
- data/spec/sheet_spec.rb +13 -17
- metadata +7 -3
data/Changelog
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
# Change Log
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
|
5
|
+
## [0.6.1] - 2016-04-09
|
6
|
+
|
7
|
+
### Changed
|
8
|
+
- error classes
|
9
|
+
|
10
|
+
### Added
|
11
|
+
|
12
|
+
- Excel#foremost_window
|
13
|
+
|
4
14
|
## [0.6] - 2016-03-08
|
5
15
|
|
6
16
|
## [0.5.2] - 2016-17-07
|
@@ -11,6 +21,8 @@ All notable changes to this project will be documented in this file.
|
|
11
21
|
(:active, :reuse as alias)
|
12
22
|
- Book: open: options: deleted :displayalerts
|
13
23
|
- Excel: create, current: with options :visible, :displayalerts
|
24
|
+
|
25
|
+
### Added
|
14
26
|
- Excel: create, current, new: new options-value :displayalerts => :if_visible
|
15
27
|
|
16
28
|
## [0.5.1] - 2016-18-06
|
data/README.rdoc
CHANGED
@@ -44,11 +44,13 @@ Options are
|
|
44
44
|
+:default_excel+, +:force_excel+, +:if_absent+, +:if_unsaved+, +:if_obstructed+,
|
45
45
|
+:read_only+, +:visible+, +:check_compatibility, and +:update_links+.
|
46
46
|
|
47
|
-
Valid values for +:default_excel+ are +:current+ (or +:active+, or +:reuse+), +:new+ or some Excel instance, for +:force_excel+ : +:current+ (or +:active+, or +:reuse+), +:new+ or some Excel instance, for +:if_unsaved+ : +:raise+, +:accept+, +:forget+, +:alert+ and +:new_excel+, for +:if_obstructed+ : +:raise+, +:save+, +:close_if_saved+, +:forget+, +:alert+ and +:new_excel+ , for +:if_absent+ : +:raise+ and +:create+. The others are Boolean.
|
47
|
+
Valid values for +:default_excel+ are +:current+ (or +:active+, or +:reuse+), +:new+ or some Excel instance, for +:force_excel+ : +:current+ (or +:active+, or +:reuse+), +:new+ or some Excel instance, for +:if_unsaved+ : +:raise+, +:accept+, +:forget+, +:alert+ and +:new_excel+, for +:if_obstructed+ : +:raise+, +:save+, +:close_if_saved+, +:forget+, +:alert+ and +:new_excel+ , for +:if_absent+ : +:raise+ and +:create+, for +:update_links+ : +:never+, +:always+, +:alert+. The others are Boolean.
|
48
|
+
|
49
|
+
Remark: Doing updating links seems to be dependent on calculation mode: updates happen, if the calcultion mode is automatic, does not happen, if calculation mode is manual.
|
48
50
|
|
49
51
|
Here are a few examples:
|
50
52
|
|
51
|
-
Opening a workbook in the Excel instance where it was opened before most recently, if it was opened
|
53
|
+
Opening a workbook in the Excel instance where it was opened before most recently, if it was opened beefore and this Excel instance is alive. Otherwise opening it in a running Excel, if it exists, or in a new Excel.
|
52
54
|
|
53
55
|
Opening a workbook in the Excel instance where it was opened before most recently, if it was opened before and this Excel instance is alive. Otherwise opening it in a new Excel instance.
|
54
56
|
|
@@ -428,7 +430,7 @@ Closing the Excel instance, saving unsaved workbooks and terminating the Excel p
|
|
428
430
|
|
429
431
|
excel.close(:if_unsaved => :save, :hard => true)
|
430
432
|
|
431
|
-
=== Closing
|
433
|
+
=== Closing Excel instances opened via RobustExcelOle.
|
432
434
|
|
433
435
|
Excel.close_all
|
434
436
|
|
data/README_detail.rdoc
CHANGED
@@ -507,7 +507,7 @@ Closing the Excel instance, saving unsaved workbooks and terminating the Excel p
|
|
507
507
|
|
508
508
|
excel.close(:if_unsaved => :save, :hard => true)
|
509
509
|
|
510
|
-
=== Closing
|
510
|
+
=== Closing Excel instances opened via RobustExcelOle
|
511
511
|
|
512
512
|
Excel.close_all
|
513
513
|
|
@@ -56,7 +56,7 @@ begin
|
|
56
56
|
puts"adding a copy of the 2nd sheet and name it again 'second_sheet_copy'"
|
57
57
|
begin
|
58
58
|
@book.add_sheet(sheet, :as => 'second_sheet_copy')
|
59
|
-
rescue
|
59
|
+
rescue NameAlreadyExists => msg
|
60
60
|
puts "error: add_sheet: #{msg.message}"
|
61
61
|
end
|
62
62
|
|
@@ -33,7 +33,7 @@ begin
|
|
33
33
|
sheet_new = book.add_sheet sheet
|
34
34
|
begin
|
35
35
|
sheet_new.name = sheet_name
|
36
|
-
rescue
|
36
|
+
rescue REOError => msg
|
37
37
|
sheet_new.name = sheet_name + sheet.name if msg.message == "sheet name already exists"
|
38
38
|
end
|
39
39
|
sheet_new.set_name("name", 2, 2)
|
@@ -26,13 +26,13 @@ begin
|
|
26
26
|
Excel.current.visible = true
|
27
27
|
begin
|
28
28
|
book.close(:if_unsaved => :alert) # close the unsaved book.
|
29
|
-
rescue
|
29
|
+
rescue WorkbookError => msg # user is asked whether the unsaved book shall be saved
|
30
30
|
puts "#{msg.message}" # if the user chooses to cancel, then an expeption is raised
|
31
31
|
end
|
32
32
|
if new_book then
|
33
33
|
begin
|
34
34
|
new_book.save_as(file_name, :if_exists => :alert) # save the new book, if it was opened
|
35
|
-
rescue
|
35
|
+
rescue WorkbookError => msg # user is asked, whether the existing file shall be overwritten
|
36
36
|
puts "save_as: #{msg.message}" # if the user chooses "no" or "cancel", an exception is raised
|
37
37
|
end
|
38
38
|
|
@@ -20,7 +20,7 @@ begin
|
|
20
20
|
sleep 1
|
21
21
|
begin
|
22
22
|
new_book = Book.open(other_file_name, :if_obstructed => :close_if_saved) # raises an exception since the file is not saved
|
23
|
-
rescue
|
23
|
+
rescue WorkbookNotSaved => msg
|
24
24
|
puts "error: open: #{msg.message}"
|
25
25
|
end
|
26
26
|
book.save # save the unsaved book
|
@@ -16,7 +16,7 @@ begin
|
|
16
16
|
sleep 3
|
17
17
|
begin
|
18
18
|
new_book = Book.open(other_file_name) # open a book with the same file name in a different path
|
19
|
-
rescue
|
19
|
+
rescue WorkbookBlocked => msg # by default: raises an exception
|
20
20
|
puts "error: open: #{msg.message}"
|
21
21
|
end
|
22
22
|
# open a new book with the same file name in a different path. close the old book before.
|
@@ -16,7 +16,7 @@ begin
|
|
16
16
|
sheet[1,1] = sheet[1,1].value == "simple" ? "complex" : "simple" # change a cell
|
17
17
|
begin
|
18
18
|
new_book = Book.open(file_name) # open another book with the same file name
|
19
|
-
rescue
|
19
|
+
rescue WorkbookBeingUsed => msg # by default: raises an exception:
|
20
20
|
puts "error: open: #{msg.message}" # a book with the same name is already open and unsaved
|
21
21
|
end
|
22
22
|
new_book = Book.open(file_name, :if_unsaved => :accept) # open another book with the same file name
|
@@ -29,7 +29,7 @@ begin
|
|
29
29
|
end
|
30
30
|
begin
|
31
31
|
book.close # close the book. by default: raises an exception:
|
32
|
-
rescue
|
32
|
+
rescue WorkbookNotSaved => msg # book is unsaved
|
33
33
|
puts "close error: #{msg.message}"
|
34
34
|
end
|
35
35
|
book.close(:if_unsaved => :save) # save the book before closing it
|
@@ -18,7 +18,7 @@ begin
|
|
18
18
|
sleep 1
|
19
19
|
begin
|
20
20
|
book.save # simple save.
|
21
|
-
rescue
|
21
|
+
rescue WorkbookReadOnly => msg # raises an exception because book is opened in read_only mode
|
22
22
|
puts "error: save_as: #{msg.message}"
|
23
23
|
end
|
24
24
|
book.close # close the book without saving it
|
@@ -25,7 +25,7 @@ begin
|
|
25
25
|
book.save # simple save
|
26
26
|
begin
|
27
27
|
book.save_as(other_file_name) # save_as : default :if_exists => :raise
|
28
|
-
rescue
|
28
|
+
rescue FileAlreadyExists => msg
|
29
29
|
puts "error: save_as: #{msg.message}"
|
30
30
|
end
|
31
31
|
book.save_as(other_file_name, :if_exists => :overwrite) # save_as with :if_exists => :overwrite
|