robust_excel_ole 0.5.1 → 0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Changelog +13 -0
- data/README.rdoc +70 -21
- data/README_detail.rdoc +60 -27
- data/examples/edit_sheets/example_access_sheets_and_cells.rb +2 -2
- data/examples/edit_sheets/example_adding_sheets.rb +2 -2
- data/examples/edit_sheets/example_concating.rb +2 -3
- data/examples/edit_sheets/example_copying.rb +2 -3
- data/examples/edit_sheets/example_expanding.rb +2 -3
- data/examples/edit_sheets/example_naming.rb +2 -3
- data/examples/edit_sheets/example_ranges.rb +2 -2
- data/examples/edit_sheets/example_saving.rb +2 -3
- data/examples/open_save_close/example_control_to_excel.rb +3 -3
- data/examples/open_save_close/example_default_excel.rb +4 -4
- data/examples/open_save_close/example_force_excel.rb +2 -2
- data/examples/open_save_close/example_if_obstructed_closeifsaved.rb +2 -2
- data/examples/open_save_close/example_if_obstructed_forget.rb +2 -2
- data/examples/open_save_close/example_if_obstructed_save.rb +2 -2
- data/examples/open_save_close/example_if_unsaved_accept.rb +2 -2
- data/examples/open_save_close/example_if_unsaved_forget.rb +2 -2
- data/examples/open_save_close/example_if_unsaved_forget_more.rb +4 -5
- data/examples/open_save_close/example_read_only.rb +2 -2
- data/examples/open_save_close/example_rename_cells.rb +3 -3
- data/examples/open_save_close/example_reuse.rb +2 -2
- data/examples/open_save_close/example_simple.rb +3 -4
- data/examples/open_save_close/example_unobtrusively.rb +2 -2
- data/lib/robust_excel_ole/book.rb +84 -78
- data/lib/robust_excel_ole/bookstore.rb +5 -1
- data/lib/robust_excel_ole/excel.rb +165 -188
- data/lib/robust_excel_ole/reo_common.rb +4 -0
- data/lib/robust_excel_ole/sheet.rb +15 -6
- data/lib/robust_excel_ole/version.rb +1 -1
- data/spec/book_spec.rb +104 -77
- data/spec/book_specs/book_close_spec.rb +9 -8
- data/spec/book_specs/book_misc_spec.rb +367 -26
- data/spec/book_specs/book_open_spec.rb +375 -94
- data/spec/book_specs/book_save_spec.rb +137 -112
- data/spec/book_specs/book_sheet_spec.rb +1 -1
- data/spec/book_specs/book_subclass_spec.rb +2 -1
- data/spec/book_specs/book_unobtr_spec.rb +87 -96
- data/spec/bookstore_spec.rb +8 -5
- data/spec/cell_spec.rb +1 -1
- data/spec/data/another_workbook.xls +0 -0
- data/spec/data/book_with_blank.xls +0 -0
- data/spec/data/workbook.xls +0 -0
- data/spec/excel_spec.rb +484 -72
- data/spec/range_spec.rb +1 -1
- data/spec/sheet_spec.rb +47 -1
- metadata +4 -5
@@ -14,7 +14,7 @@ describe Book do
|
|
14
14
|
excel = Excel.new(:reuse => true)
|
15
15
|
open_books = excel == nil ? 0 : excel.Workbooks.Count
|
16
16
|
puts "*** open books *** : #{open_books}" if open_books > 0
|
17
|
-
Excel.
|
17
|
+
Excel.kill_all
|
18
18
|
end
|
19
19
|
|
20
20
|
before do
|
@@ -27,6 +27,7 @@ describe Book do
|
|
27
27
|
@linked_file = @dir + '/workbook_linked.xlsm'
|
28
28
|
@simple_file_xlsm = @dir + '/workbook.xls'
|
29
29
|
@simple_file_xlsx = @dir + '/workbook.xlsx'
|
30
|
+
@simple_file1 = @simple_file
|
30
31
|
end
|
31
32
|
|
32
33
|
after do
|
@@ -51,7 +52,7 @@ describe Book do
|
|
51
52
|
|
52
53
|
context "with unsaved read_only book" do
|
53
54
|
before do
|
54
|
-
@book = Book.open(@
|
55
|
+
@book = Book.open(@simple_file1, :read_only => true)
|
55
56
|
@sheet_count = @book.ole_workbook.Worksheets.Count
|
56
57
|
@book.add_sheet(@sheet, :as => 'a_name')
|
57
58
|
end
|
@@ -60,7 +61,7 @@ describe Book do
|
|
60
61
|
expect{
|
61
62
|
@book.close
|
62
63
|
}.to_not raise_error
|
63
|
-
new_book = Book.open(@
|
64
|
+
new_book = Book.open(@simple_file1)
|
64
65
|
new_book.ole_workbook.Worksheets.Count.should == @sheet_count
|
65
66
|
new_book.close
|
66
67
|
end
|
@@ -68,7 +69,7 @@ describe Book do
|
|
68
69
|
|
69
70
|
context "with unsaved book" do
|
70
71
|
before do
|
71
|
-
@book = Book.open(@
|
72
|
+
@book = Book.open(@simple_file1)
|
72
73
|
@sheet_count = @book.ole_workbook.Worksheets.Count
|
73
74
|
@book.add_sheet(@sheet, :as => 'a_name')
|
74
75
|
@sheet = @book.sheet(1)
|
@@ -109,7 +110,7 @@ describe Book do
|
|
109
110
|
@book.should_not be_alive
|
110
111
|
expect{
|
111
112
|
ole_workbook.Name}.to raise_error(WIN32OLERuntimeError)
|
112
|
-
new_book = Book.open(@
|
113
|
+
new_book = Book.open(@simple_file1)
|
113
114
|
begin
|
114
115
|
new_book.ole_workbook.Worksheets.Count.should == @sheet_count
|
115
116
|
ensure
|
@@ -134,7 +135,7 @@ describe Book do
|
|
134
135
|
@book.should_not be_alive
|
135
136
|
expect{
|
136
137
|
ole_workbook.Name}.to raise_error(WIN32OLERuntimeError)
|
137
|
-
new_book = Book.open(@
|
138
|
+
new_book = Book.open(@simple_file1)
|
138
139
|
begin
|
139
140
|
new_book.ole_workbook.Worksheets.Count.should == @sheet_count + 1
|
140
141
|
ensure
|
@@ -174,7 +175,7 @@ describe Book do
|
|
174
175
|
@book.should_not be_alive
|
175
176
|
expect{ole_workbook.Name}.to raise_error(WIN32OLERuntimeError)
|
176
177
|
end
|
177
|
-
new_book = Book.open(@
|
178
|
+
new_book = Book.open(@simple_file1, :if_unsaved => :forget)
|
178
179
|
begin
|
179
180
|
new_book.ole_workbook.Worksheets.Count.should == @sheet_count + (answer==:yes ? 1 : 0)
|
180
181
|
new_book.excel.DisplayAlerts.should == displayalert_value
|
@@ -217,7 +218,7 @@ describe Book do
|
|
217
218
|
@book.should_not be_alive
|
218
219
|
expect{ole_workbook.Name}.to raise_error(WIN32OLERuntimeError)
|
219
220
|
end
|
220
|
-
new_book = Book.open(@
|
221
|
+
new_book = Book.open(@simple_file1, :if_unsaved => :forget)
|
221
222
|
begin
|
222
223
|
new_book.ole_workbook.Worksheets.Count.should == @sheet_count + (answer==:yes ? 1 : 0)
|
223
224
|
new_book.excel.DisplayAlerts.should == displayalert_value
|
@@ -14,7 +14,7 @@ describe Book do
|
|
14
14
|
excel = Excel.new(:reuse => true)
|
15
15
|
open_books = excel == nil ? 0 : excel.Workbooks.Count
|
16
16
|
puts "*** open books *** : #{open_books}" if open_books > 0
|
17
|
-
Excel.
|
17
|
+
Excel.kill_all
|
18
18
|
end
|
19
19
|
|
20
20
|
before do
|
@@ -27,6 +27,7 @@ describe Book do
|
|
27
27
|
@linked_file = @dir + '/workbook_linked.xlsm'
|
28
28
|
@simple_file_xlsm = @dir + '/workbook.xls'
|
29
29
|
@simple_file_xlsx = @dir + '/workbook.xlsx'
|
30
|
+
@simple_file1 = @simple_file
|
30
31
|
end
|
31
32
|
|
32
33
|
after do
|
@@ -46,6 +47,221 @@ describe Book do
|
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
50
|
+
describe "with visible" do
|
51
|
+
|
52
|
+
it "should preserve :visible if it is not set" do
|
53
|
+
book1 = Book.open(@simple_file)
|
54
|
+
book1.excel.Visible.should be_false
|
55
|
+
book1.Windows(book1.Name).Visible.should be_true
|
56
|
+
book1.visible.should be_false
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should set :visible to false" do
|
60
|
+
book1 = Book.open(@simple_file, :visible => false)
|
61
|
+
book1.excel.Visible.should be_false
|
62
|
+
book1.Windows(book1.Name).Visible.should be_true
|
63
|
+
book1.visible.should be_false
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should set :visible to true" do
|
67
|
+
book1 = Book.open(@simple_file, :visible => true)
|
68
|
+
book1.excel.Visible.should be_true
|
69
|
+
book1.Windows(book1.Name).Visible.should be_true
|
70
|
+
book1.visible.should be_true
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should preserve :visible if they are set to visible" do
|
74
|
+
excel1 = Excel.create(:visible => true)
|
75
|
+
book1 = Book.open(@simple_file)
|
76
|
+
book1.excel.Visible.should be_true
|
77
|
+
book1.Windows(book1.Name).Visible.should be_true
|
78
|
+
book1.visible.should be_true
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should preserve :visible if it is set to false" do
|
82
|
+
excel1 = Excel.create
|
83
|
+
book1 = Book.open(@simple_file, :visible => false)
|
84
|
+
book1.excel.Visible.should be_false
|
85
|
+
book1.Windows(book1.Name).Visible.should be_true
|
86
|
+
book1.visible.should be_false
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should preserve :visible if it is not set" do
|
90
|
+
excel1 = Excel.create
|
91
|
+
book1 = Book.open(@simple_file)
|
92
|
+
book1.excel.Visible.should be_false
|
93
|
+
book1.Windows(book1.Name).Visible.should be_true
|
94
|
+
book1.visible.should be_false
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should overwrite :visible to false" do
|
98
|
+
excel1 = Excel.create(:visible => true)
|
99
|
+
book1 = Book.open(@simple_file, :visible => false)
|
100
|
+
book1.excel.Visible.should be_true
|
101
|
+
book1.Windows(book1.Name).Visible.should be_false
|
102
|
+
book1.visible.should be_false
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should overwrite :visible to true" do
|
106
|
+
excel1 = Excel.create(:visible => false)
|
107
|
+
book1 = Book.open(@simple_file, :visible => true)
|
108
|
+
book1.excel.Visible.should be_true
|
109
|
+
book1.Windows(book1.Name).Visible.should be_true
|
110
|
+
book1.visible.should be_true
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should preserve :visible if it is not set with default_excel" do
|
114
|
+
excel1 = Excel.create(:visible => true)
|
115
|
+
book1 = Book.open(@simple_file)
|
116
|
+
book2 = Book.open(@different_file, :default_excel => :new)
|
117
|
+
book2.excel.Visible.should be_false
|
118
|
+
book2.Windows(book2.Name).Visible.should be_true
|
119
|
+
book2.visible.should be_false
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should set :visible to true with default_excel" do
|
123
|
+
excel1 = Excel.create(:visible => true)
|
124
|
+
book1 = Book.open(@simple_file)
|
125
|
+
book2 = Book.open(@different_file, :default_excel => :new, :visible => true)
|
126
|
+
book2.excel.Visible.should be_true
|
127
|
+
book2.Windows(book2.Name).Visible.should be_true
|
128
|
+
book2.visible.should be_true
|
129
|
+
end
|
130
|
+
|
131
|
+
it "should set :visible to false with default_excel" do
|
132
|
+
excel1 = Excel.create(:visible => true)
|
133
|
+
book1 = Book.open(@simple_file)
|
134
|
+
book2 = Book.open(@different_file, :default_excel => :new, :visible => false)
|
135
|
+
book2.excel.Visible.should be_false
|
136
|
+
book2.Windows(book2.Name).Visible.should be_true
|
137
|
+
book2.visible.should be_false
|
138
|
+
end
|
139
|
+
|
140
|
+
it "should preserve :visible if it is set to true with default_excel" do
|
141
|
+
excel1 = Excel.create(:visible => true)
|
142
|
+
excel2 = Excel.create(:visible => true)
|
143
|
+
book1 = Book.open(@different_file, :default_excel => excel2)
|
144
|
+
book1.excel.Visible.should be_true
|
145
|
+
book1.Windows(book1.Name).Visible.should be_true
|
146
|
+
book1.visible.should be_true
|
147
|
+
end
|
148
|
+
|
149
|
+
it "should overwrite :visible to false with default_excel" do
|
150
|
+
excel1 = Excel.create(:visible => true)
|
151
|
+
excel2 = Excel.create(:visible => true)
|
152
|
+
book1 = Book.open(@different_file, :default_excel => excel2, :visible => false)
|
153
|
+
book1.excel.Visible.should be_true
|
154
|
+
book1.Windows(book1.Name).Visible.should be_false
|
155
|
+
book1.visible.should be_false
|
156
|
+
end
|
157
|
+
|
158
|
+
it "should preserve :visible if it is not set with force_excel => new" do
|
159
|
+
excel1 = Excel.create(:visible => true)
|
160
|
+
book1 = Book.open(@different_file, :force_excel => :new)
|
161
|
+
book1.excel.Visible.should be_false
|
162
|
+
book1.Windows(book1.Name).Visible.should be_true
|
163
|
+
book1.visible.should be_false
|
164
|
+
end
|
165
|
+
|
166
|
+
it "should set :visible to true with force_excel" do
|
167
|
+
excel1 = Excel.create(:visible => true)
|
168
|
+
book1 = Book.open(@different_file, :force_excel => :new, :visible => true)
|
169
|
+
book1.excel.Visible.should be_true
|
170
|
+
book1.Windows(book1.Name).Visible.should be_true
|
171
|
+
book1.visible.should be_true
|
172
|
+
end
|
173
|
+
|
174
|
+
it "should preserve :visible if it is not set with force_excel => excel" do
|
175
|
+
excel1 = Excel.create(:visible => true)
|
176
|
+
excel2 = Excel.create(:visible => true)
|
177
|
+
book1 = Book.open(@different_file, :force_excel => excel2)
|
178
|
+
book1.excel.Visible.should be_true
|
179
|
+
book1.Windows(book1.Name).Visible.should be_true
|
180
|
+
book1.visible.should be_true
|
181
|
+
end
|
182
|
+
|
183
|
+
it "should set visible to false with force_excel => excel" do
|
184
|
+
excel1 = Excel.create(:visible => true)
|
185
|
+
excel2 = Excel.create(:visible => true)
|
186
|
+
book1 = Book.open(@different_file, :force_excel => excel2, :visible => false)
|
187
|
+
book1.excel.Visible.should be_true
|
188
|
+
book1.Windows(book1.Name).Visible.should be_false
|
189
|
+
book1.visible.should be_false
|
190
|
+
end
|
191
|
+
|
192
|
+
it "should set visible to true with force_excel => excel" do
|
193
|
+
excel1 = Excel.create(:visible => true)
|
194
|
+
excel2 = Excel.create(:visible => true)
|
195
|
+
book1 = Book.open(@different_file, :force_excel => excel2, :visible => true)
|
196
|
+
book1.excel.Visible.should be_true
|
197
|
+
book1.Windows(book1.Name).Visible.should be_true
|
198
|
+
book1.visible.should be_true
|
199
|
+
end
|
200
|
+
|
201
|
+
it "should preserve :visible if it is set to true with force_excel => current" do
|
202
|
+
excel1 = Excel.create(:visible => true)
|
203
|
+
book1 = Book.open(@different_file, :force_excel => :current)
|
204
|
+
book1.excel.Visible.should be_true
|
205
|
+
book1.Windows(book1.Name).Visible.should be_true
|
206
|
+
book1.visible.should be_true
|
207
|
+
end
|
208
|
+
|
209
|
+
it "should set :visible to false with force_excel => current" do
|
210
|
+
excel1 = Excel.create(:visible => true)
|
211
|
+
book1 = Book.open(@different_file, :force_excel => :current, :visible => false)
|
212
|
+
book1.excel.Visible.should be_true
|
213
|
+
book1.Windows(book1.Name).Visible.should be_false
|
214
|
+
book1.visible.should be_false
|
215
|
+
end
|
216
|
+
|
217
|
+
it "should preserve :visible if it is set to false with force_excel => current" do
|
218
|
+
excel1 = Excel.create(:visible => false)
|
219
|
+
book1 = Book.open(@simple_file, :force_excel => :current)
|
220
|
+
book1.excel.Visible.should be_false
|
221
|
+
book1.Windows(book1.Name).Visible.should be_true
|
222
|
+
book1.visible.should be_false
|
223
|
+
end
|
224
|
+
|
225
|
+
it "should set :visible to false with force_excel => current" do
|
226
|
+
excel1 = Excel.create(:visible => false)
|
227
|
+
book1 = Book.open(@simple_file, :force_excel => :current, :visible => true)
|
228
|
+
book1.excel.Visible.should be_true
|
229
|
+
book1.Windows(book1.Name).Visible.should be_true
|
230
|
+
book1.visible.should be_true
|
231
|
+
end
|
232
|
+
|
233
|
+
it "should let an open Book open" do
|
234
|
+
@book = Book.open(@simple_file1, :visible => true)
|
235
|
+
Book.unobtrusively(@simple_file1) do |book|
|
236
|
+
book.should be_a Book
|
237
|
+
book.should be_alive
|
238
|
+
book.excel.should == @book.excel
|
239
|
+
book.excel.Visible.should be_true
|
240
|
+
end
|
241
|
+
@book.should be_alive
|
242
|
+
@book.should be_a Book
|
243
|
+
@book.excel.Visible.should be_true
|
244
|
+
@book.close(:if_unsaved => :forget)
|
245
|
+
@book2.close(:if_unsaved => :forget) rescue nil
|
246
|
+
end
|
247
|
+
|
248
|
+
it "should set visible and displayalerts if displayalerts => :if_visible" do
|
249
|
+
book1 = Book.open(@simple_file)
|
250
|
+
book1.excel.Visible.should be_false
|
251
|
+
book1.excel.displayalerts = :if_visible
|
252
|
+
book1.excel.displayalerts.should == :if_visible
|
253
|
+
book1.Windows(book1.Name).Visible.should be_true
|
254
|
+
book1.visible.should be_false
|
255
|
+
book2 = Book.open(@different_file, :visible => true)
|
256
|
+
book2.excel.Visible.should be_true
|
257
|
+
book2.Windows(book2.Name).Visible.should be_true
|
258
|
+
book2.visible.should be_true
|
259
|
+
book2.excel.visible.should be_true
|
260
|
+
book2.excel.displayalerts.should be_true
|
261
|
+
book2.excel.DisplayAlerts.should be_true
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
49
265
|
describe "send methods to workbook" do
|
50
266
|
|
51
267
|
context "with standard" do
|
@@ -84,7 +300,7 @@ describe Book do
|
|
84
300
|
context "with some open book" do
|
85
301
|
|
86
302
|
before do
|
87
|
-
@book = Book.open(@
|
303
|
+
@book = Book.open(@simple_file1)
|
88
304
|
end
|
89
305
|
|
90
306
|
after do
|
@@ -92,10 +308,10 @@ describe Book do
|
|
92
308
|
end
|
93
309
|
|
94
310
|
it "should create and use a hidden Excel instance" do
|
95
|
-
book2 = Book.open(@
|
311
|
+
book2 = Book.open(@simple_file1, :force_excel => @book.bookstore.hidden_excel)
|
96
312
|
book2.excel.should_not == @book.excel
|
97
313
|
book2.excel.visible.should be_false
|
98
|
-
book2.excel.displayalerts.should
|
314
|
+
book2.excel.displayalerts.should == :if_visible
|
99
315
|
book2.close
|
100
316
|
end
|
101
317
|
end
|
@@ -147,7 +363,6 @@ describe Book do
|
|
147
363
|
@book1["named_formula"].should == 4
|
148
364
|
end
|
149
365
|
|
150
|
-
|
151
366
|
it "should return default value if name not defined" do
|
152
367
|
@book1.nameval("foo", :default => 2).should == 2
|
153
368
|
end
|
@@ -172,6 +387,17 @@ describe Book do
|
|
172
387
|
@book1["named_formula"] = "bar"
|
173
388
|
}.to raise_error(ExcelError, /cannot assign value to range named "named_formula" in "another_workbook.xls"/)
|
174
389
|
end
|
390
|
+
|
391
|
+
# Excel Bug: for local names without uqifier: takes the first sheet as default even if another sheet is activated
|
392
|
+
it "should take the first sheet as default even if the second sheet is activated" do
|
393
|
+
@book1.nameval("Sheet1!localname").should == "bar"
|
394
|
+
@book1.nameval("Sheet2!localname").should == "simple"
|
395
|
+
@book1.nameval("localname").should == "bar"
|
396
|
+
@book1.Worksheets.Item(2).Activate
|
397
|
+
@book1.nameval("localname").should == "bar"
|
398
|
+
@book1.Worksheets.Item(1).Delete
|
399
|
+
@book1.nameval("localname").should == "simple"
|
400
|
+
end
|
175
401
|
end
|
176
402
|
|
177
403
|
describe "rename_range" do
|
@@ -193,7 +419,7 @@ describe Book do
|
|
193
419
|
end
|
194
420
|
end
|
195
421
|
|
196
|
-
describe "alive?, filename, ==, visible,
|
422
|
+
describe "alive?, filename, ==, visible, activate, saved, check_compatibility" do
|
197
423
|
|
198
424
|
context "with alive?" do
|
199
425
|
|
@@ -240,7 +466,7 @@ describe Book do
|
|
240
466
|
context "with ==" do
|
241
467
|
|
242
468
|
before do
|
243
|
-
@book = Book.open(@
|
469
|
+
@book = Book.open(@simple_file1)
|
244
470
|
end
|
245
471
|
|
246
472
|
after do
|
@@ -249,7 +475,7 @@ describe Book do
|
|
249
475
|
end
|
250
476
|
|
251
477
|
it "should be true with two identical books" do
|
252
|
-
@new_book = Book.open(@
|
478
|
+
@new_book = Book.open(@simple_file1)
|
253
479
|
@new_book.should == @book
|
254
480
|
end
|
255
481
|
|
@@ -296,29 +522,142 @@ describe Book do
|
|
296
522
|
end
|
297
523
|
end
|
298
524
|
|
299
|
-
context "with visible" do
|
300
525
|
|
301
|
-
|
302
|
-
|
526
|
+
context "with :visible => " do
|
527
|
+
|
528
|
+
it "should leave the excel invisible when opening with default option" do
|
529
|
+
excel1 = Excel.new(:reuse => false, :visible => false)
|
530
|
+
book1 = Book.open(@simple_file)
|
531
|
+
excel1.Visible.should be_false
|
532
|
+
book1.Windows(book1.Name).Visible.should be_true
|
533
|
+
book1.visible.should be_false
|
534
|
+
end
|
535
|
+
|
536
|
+
it "should leave the excel invisible when opening with :visible => false" do
|
537
|
+
excel1 = Excel.new(:reuse => false, :visible => false)
|
538
|
+
book1 = Book.open(@simple_file, :visible => false)
|
539
|
+
excel1.Visible.should be_false
|
540
|
+
book1.Windows(book1.Name).Visible.should be_true
|
541
|
+
book1.visible.should be_false
|
542
|
+
end
|
543
|
+
|
544
|
+
it "should leave the excel visible" do
|
545
|
+
excel1 = Excel.new(:reuse => false, :visible => false)
|
546
|
+
book1 = Book.open(@simple_file, :visible => true)
|
547
|
+
excel1.Visible.should be_true
|
548
|
+
book1.Windows(book1.Name).Visible.should be_true
|
549
|
+
book1.visible.should be_true
|
550
|
+
book2 = Book.open(@another_simple_file)
|
551
|
+
excel1.Visible.should be_true
|
552
|
+
book2.Windows(book2.Name).Visible.should be_true
|
553
|
+
book2.visible.should be_true
|
554
|
+
book3 = Book.open(@different_file, :visible => false)
|
555
|
+
excel1.Visible.should be_true
|
556
|
+
book3.Windows(book3.Name).Visible.should be_false
|
557
|
+
book3.visible.should be_false
|
558
|
+
end
|
559
|
+
|
560
|
+
it "should leave the excel visible when opening with default option" do
|
561
|
+
excel1 = Excel.new(:reuse => false, :visible => true)
|
562
|
+
book1 = Book.open(@simple_file)
|
563
|
+
excel1.Visible.should be_true
|
564
|
+
book1.Windows(book1.Name).Visible.should be_true
|
565
|
+
book1.visible.should be_true
|
566
|
+
end
|
567
|
+
|
568
|
+
it "should leave the excel visible when opening with :visible => false" do
|
569
|
+
excel1 = Excel.new(:reuse => false, :visible => true)
|
570
|
+
book1 = Book.open(@simple_file, :visible => false)
|
571
|
+
excel1.Visible.should be_true
|
572
|
+
book1.Windows(book1.Name).Visible.should be_false
|
573
|
+
book1.visible.should be_false
|
574
|
+
book2 = Book.open(@another_simple_file)
|
575
|
+
excel1.Visible.should be_true
|
576
|
+
book2.Windows(book2.Name).Visible.should be_true
|
577
|
+
book2.visible.should be_true
|
578
|
+
end
|
579
|
+
|
580
|
+
it "should leave the excel visible" do
|
581
|
+
excel1 = Excel.new(:reuse => false, :visible => true)
|
582
|
+
book1 = Book.open(@simple_file, :visible => true)
|
583
|
+
excel1.Visible.should be_true
|
584
|
+
book1.Windows(book1.Name).Visible.should be_true
|
585
|
+
book1.visible.should be_true
|
586
|
+
book2 = Book.open(@different_file, :visible => false)
|
587
|
+
excel1.Visible.should be_true
|
588
|
+
book2.Windows(book2.Name).Visible.should be_false
|
589
|
+
book2.visible.should be_false
|
590
|
+
end
|
591
|
+
|
592
|
+
it "should leave the visibility of Excel" do
|
593
|
+
excel1 = Excel.new(:reuse => false, :visible => false)
|
594
|
+
book1 = Book.open(@simple_file, :visible => true)
|
595
|
+
excel1.Visible.should be_true
|
596
|
+
book1.Windows(book1.Name).Visible.should be_true
|
597
|
+
book1.visible.should be_true
|
598
|
+
excel1.visible = false
|
599
|
+
book2 = Book.open(@different_file)
|
600
|
+
excel1.Visible.should be_false
|
601
|
+
book2.Windows(book2.Name).Visible.should be_true
|
602
|
+
book2.visible.should be_false
|
603
|
+
end
|
604
|
+
|
605
|
+
it "should leave the visibility of Excel" do
|
606
|
+
excel1 = Excel.new(:reuse => false, :visible => false)
|
607
|
+
book1 = Book.open(@simple_file, :visible => false)
|
608
|
+
excel1.Visible.should be_false
|
609
|
+
book1.Windows(book1.Name).Visible.should be_true
|
610
|
+
book1.visible.should be_false
|
611
|
+
excel1.visible = true
|
612
|
+
book2 = Book.open(@different_file)
|
613
|
+
excel1.Visible.should be_true
|
614
|
+
book2.Windows(book2.Name).Visible.should be_true
|
615
|
+
book2.visible.should be_true
|
303
616
|
end
|
617
|
+
end
|
304
618
|
|
305
|
-
|
306
|
-
|
619
|
+
context "with visible, visible=" do
|
620
|
+
|
621
|
+
before do
|
622
|
+
@book1 = Book.open(@simple_file)
|
623
|
+
@book2 = Book.open(@different_file, :force_excel => :new, :visible => true)
|
307
624
|
end
|
308
625
|
|
309
|
-
|
310
|
-
@
|
311
|
-
@
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
@
|
316
|
-
@
|
317
|
-
@
|
318
|
-
@
|
319
|
-
@
|
320
|
-
@
|
321
|
-
@
|
626
|
+
after do
|
627
|
+
@book1.close
|
628
|
+
@book2.close
|
629
|
+
end
|
630
|
+
|
631
|
+
it "should make the invisible workbook visible and invisible" do
|
632
|
+
@book1.excel.Visible.should be_false
|
633
|
+
@book1.Windows(@book1.Name).Visible.should be_true
|
634
|
+
@book1.visible.should be_false
|
635
|
+
@book1.visible = true
|
636
|
+
@book1.Saved.should be_true
|
637
|
+
@book1.excel.Visible.should be_true
|
638
|
+
@book1.Windows(@book1.Name).Visible.should be_true
|
639
|
+
@book1.visible.should be_true
|
640
|
+
@book1.visible = false
|
641
|
+
@book1.Saved.should be_true
|
642
|
+
@book1.excel.should be_true
|
643
|
+
@book1.Windows(@book1.Name).Visible.should be_false
|
644
|
+
@book1.visible.should be_false
|
645
|
+
@book2.excel.Visible.should be_true
|
646
|
+
end
|
647
|
+
|
648
|
+
it "should make the visible workbook and the invisible workbook invisible" do
|
649
|
+
@book2.Windows(@book2.Name).Visible.should be_true
|
650
|
+
@book2.visible.should be_true
|
651
|
+
@book2.visible = true
|
652
|
+
@book2.Saved.should be_true
|
653
|
+
@book2.excel.Visible.should be_true
|
654
|
+
@book2.Windows(@book2.Name).Visible.should be_true
|
655
|
+
@book2.excel.visible = false
|
656
|
+
@book2.visible = false
|
657
|
+
@book2.Saved.should be_true
|
658
|
+
@book2.excel.Visible.should be_false
|
659
|
+
@book2.Windows(@book2.Name).Visible.should be_true
|
660
|
+
@book2.visible.should be_false
|
322
661
|
end
|
323
662
|
|
324
663
|
end
|
@@ -328,7 +667,9 @@ describe Book do
|
|
328
667
|
before do
|
329
668
|
@key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '../helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
|
330
669
|
@book = Book.open(@simple_file, :visible => true)
|
670
|
+
@book.excel.displayalerts = false
|
331
671
|
@book2 = Book.open(@another_simple_file, :force_excel => :new, :visible => true)
|
672
|
+
@book2.excel.displayalerts = false
|
332
673
|
end
|
333
674
|
|
334
675
|
after do
|