メインメニュー
PR
facebook

Excelの一番の謎


投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/18 0:23
OK_like-mj  常連   投稿数: 732
Excelで、よく使う機能に
"名前を付けて保存"がある

誰でも使う、ありふれた機能なのだが

これが一番の謎をもっているのだ

どういう事か

今、ブック"A"を開いて、それを"B"という名前で
保存したときに、それは起こるのだ

開いたのは、"A"だ
決して"B"は開いてなどいない
なのに、開いていたのは"A"ではなく"B"に
なってしまうだけでなく
"A"は閉じていないのに
閉じる必要がなくなってしまうのだ

これが、Excel最大の謎です
投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/18 0:38
OK_like-mj  常連   投稿数: 732
ふつうは、あまり考えもしないのですが

Excel VBA を作っていると
Openしたモノは、必ず最後に、Closeしないと
動かしたあとに、いろいろなファイルが
開いたまま残ってしまう

でも、"名前を付けて保存"すると
openした、その名前で closeしようとスルと
エラーになる

でも、openとcloseが対なので
openしてもイナイものを closeするのは
ちょっと気が引けるので
"名前を付けて保存"したあとに
わざと、それを一度読んでから、閉じるように
している

最初に開いたファイルが閉じる操作を
していないのに、結果的には閉じたことになる
のと、保存した名前のモノは開く操作は
していないのに、すでに開いているのだ

これを謎と呼ばずに、謎などあろうか
投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/18 0:51
OK_like-mj  常連   投稿数: 732
この現象を物語風にアレンジすると

ある所から"男"を目の前に連れてきて

あなたは、これから
別の場所にいる"女"と呼ぶことにする
と言った瞬間に
目の前にいた男は、その瞬間、女に変わってしまい

ある場所に"男"は勝手に戻ってしまい
呼んでもいない"女"を、別の場所から
呼んできたカッコウになってしまう

呼んできた手前、男には"帰っていいよ"
って本来は言う必要があるのだ
投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/18 1:07
OK_like-mj  常連   投稿数: 732
この機能の意味するところが
最初に読んだファイルを温存する意味なのは
分かり切っています

つまり、"名前を付けて保存"をやって
別名にして以降、続けて編集をやって
ヤバイ展開になり、元に戻れなさそうになっても

今編集しているのは、別名のもので
元々のものは、そのまま安泰なのだから
やり直しが効くのだ

つまりは、バックアップ機能の一種なのだが

open close にこだわると論理的矛盾を感じる
投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/18 5:43 | 最終変更
OK_like-mj  常連   投稿数: 732
より正確に問題点を指摘しよう

open a

set A = activeworkbook

save A as b

の状態で

A close で errorになる

-----------------------------------

この段階で open しているのは b なのだが

a や b は、"格納場所込みの名前"であって
A のように、単純な一言の操作名は
この段階では未定義なため

b close では、全体の作り上、統一性に欠ける
そこで
save A as b の直後に

set B = activeworkbook
でいけると思われるのですが

open b
set B = activeworkbook

B close

としている

この activeworkbook というのは
現在 open したばかりの対象や
coding自体を書き込んでいる対象を
操作する用語だ

明示的に open していない b を
activeworkbook で対象にする辛さを
ご理解いただけるでしょうか

-------------------------------------
最終的な codingは

open a

set A = activeworkbook

save A as b

open b
set B = activeworkbook

B close

-------------------------------------

A を closeすると error になります

でも openしたのはAなのです

( open b は実際は不要と思われます )

この一連の流れの頭とケツを見れば

open a



B close

"ココ"に、事態の異常さ、不思議さが
集約されている
投票数:0 平均点:0.00
返信する
OK_like-mj

なし Re: Excelの一番の謎

msg# 1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/19 0:46
OK_like-mj  常連   投稿数: 732
本日1日使ってみたら

open a

set A = activeworkbook

save A as b

set B = activeworkbook

B close

---------------------------
では、error

でも、bは、open不要でしたが

errorを生じないためには

T closeのみ
B は、close しなくても、なぜか残りません

でも主要な処理は、すべて B を使っていて
そこから生成される、すべてのファイルは
正常でした

--------------------------------------
windowsでは、メモ帳でも
"名前を付けて保存"すると
編集中のファイルは保存したモノに変わるので
一般的な考えになっていますが

こうした背景と
B close では error になり
手動による現象では、すでに閉じている
T を閉じると、上手くいくという

思ってもみない理屈が二重にかみ合わない
現象に、ただ唖然とします
投票数:0 平均点:0.00
返信する
OK_like-mj

なし Re: Excelの一番の謎

msg# 1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/19 1:06
OK_like-mj  常連   投稿数: 732
名前を付けて保存せずに
上書き保存するなら

最初に開いたファイルの内容が更新されます

でも、名前を付けて保存した時点で
最初のファイルとの関係は切れるのです

言ってしまえば、閉じずして閉じたようなもの

その最初のファイルを閉じないとエラーになり

編集中のファイルは
closeしてないのに、勝手にcloseされる
投票数:0 平均点:0.00
返信する
OK_like-mj

なし Re: Excelの一番の謎

msg# 1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/19 6:02
OK_like-mj  常連   投稿数: 732
実際に、運用可能な形は
-----------------------------
open a

set A = activeworkbook

save A as b


~ ( この間、Aという名前で b を扱う )


A close
-----------------------------

つまり、論理的には
一度開いて、編集を始めたものは
途中で、"名前を付けて保存"しようが
開いた時につけた名前で、続けて編集可能
しかも、"名前を付けて保存"した時点で
最初のファイルは無傷のまま残る

最後に、閉じるのは、最初に開いたファイルのみ

------------------------------
上記の論理が成立する作りになっているのだが

無傷の A を閉じるという意味ではなく
最初に開いて、名付けた A という"対象"は

最初から、ずっと継続して編集しているモノを
指し示していると考えると理解できる

だから編集している操作対象( A )の
本当の"本体"は、いろいろ変わっても
最後は、目の前の操作対象の A close
で締めくくるのだ
投票数:0 平均点:0.00
返信する
OK_like-mj

なし Re: Excelの一番の謎

msg# 1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021/3/19 6:14
OK_like-mj  常連   投稿数: 732
そして、多くの場合
問題が発生するのは

扱うデータに不具合があって

~ ( この間、Aという名前で b を扱う )

この間で、処理がエラーを弾き出す際に生じる

編集対象 A と、その本体の関係性が
途切れてしまうからだ

こうなると、データの不具合修正後
一旦、ソフトを閉じ、最初からやり直すしかない

それで済めば、まだイイ方で
大元のデータが無傷でなくなってしまう場合が
あるのだ
そうなると、データをバックアップから
戻す必要が生じてしまう
投票数:0 平均点:0.00
返信する
OK_like-mj

なし Re: Excelの一番の謎

msg# 1.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021/3/20 14:06
OK_like-mj  常連   投稿数: 732
このエラーの真の原因は

自分のソフトで想定していたデータの内容と
現実的に今あるデータの内容が違っている事で

この問題は、データ入力処理を
拡張するなりで、想定可能な範囲にデータを
きっちり作り上げるまでは真の解決に至らない

そして使う方にとって
この拡張が、こりゃ便利だ、とか
使いやすいって思えるようでないと
このソフト自体が生き残れないのだ

誰だって、今までのやり方を変えるのは面倒だ

そうした面倒くささを押してでも
やって見ようとスルからには
それ相当のものが無ければ動く訳が無い
投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文
  条件検索へ


ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録
PR
twitter
Created by: twitter website widget