[[20180802170951]] 『MMID関数でファイル名を求めるとエラーになるファ』(お助け下さい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『MMID関数でファイル名を求めるとエラーになるファイルがある』(お助け下さい)

会社のネットワーク上に保存しているファイルを皆で共有しています。
ファイル名をMID関数で各セルに出るようにしていますが、
数十あるファイルのうち、いくつかのファイルはVALUEが出てしまいます。
ちゃんとファイル名を返しているファイルがほとんどで、
もちろん自分のPCにファイルをコピーするとエラーは出ません。
ネットワーク上のファイルであることが原因なのでしょうか?
最近突然エラーが各PCで出るようになりました。
エクセルのオプションでセキュリティーセンターの設定は行っています。
どうすれば解消されるかお教え下さい。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


具体的な情報が少ないので、まったく判りません。 なので、推測になります。

ありがちなのが、Windows及びアプリの扱うフルパスの文字長より、Excelの扱うフルパスの文字長が短いため、文字長が長すぎてWorkBooks.Openできない場合ですね。 ネットワーク上の、浅いフォルダにコピーしてみたり、ファイル名を短くするとどうなりますか?
(???) 2018/08/02(木) 17:36


>エクセルのオプションでセキュリティーセンターの設定は行っています。
つまり「保護ビュー」で開いていないのは間違いないと考えて良い?

もしかしたらアプデでチェック外れてるかも知れないから改めて確認して。
(名無し) 2018/08/02(木) 18:37


名無し様
ありがとうございます。
再度確認致しましたが、保護ビューのチェックは外していますので、保護ビューでは
開いておりません。
今も正常なファイルとエラーが出るファイルがあります。

(お助け下さい) 2018/08/03(金) 09:26


???様
ありがとうございます。
ファイル名を短く変更してもエラーのままです。
エラーになっていない正常なファイルに、エラーの出るファイルの関数をコピーすると
正常にファイル名が返ってきました。

(お助け下さい) 2018/08/03(金) 09:32


たぶんコレをMIDで加工してるんだと予想しますが
=CELL("filename")
MID関数云々の前にこの結果がどうなっているのかは確認されましたか。
(名無し) 2018/08/03(金) 09:49

追記
???さんの言うように具体的な情報を出せば答えが見つかるかも知れませんよ?
・数式全文
・エラーの出ているネットワーク上のファイルのパス
・エラーの出ないネットワーク上のファイルのパス

実パスが見られたくないなら、一時的にaという名前にコピーしてエラーが再現できるのを確認して、そのパスを載せれば良いだけですから。
(名無し) 2018/08/03(金) 09:56


名無し様
度々で申し訳ございません。

ファイル名の8文字目からを反映させたい為、以下の数式です。
=MID(CELL("filename",C7),FIND("[",CELL("filename",C7),1)+8,FIND(".",CELL("filename",C7),1)-FIND("[",CELL("filename",C7),1)-8)

エラーの出ているファイル "\\192.168.1.50\共有書庫\プ\完了他\入金済・ボツ\1803137化学工業電材センター外壁修繕工事.xlsx"
です。
同じところにある他の名称のファイル全てにエラーが出ているわけではありません。
先程試しに、一つ上の階層にファイルをコピーしたらエラーは出なかったので、
そのファイルを元の階層に上書きコピーしたらエラーが出なくなりました。

先程
(お助け下さい) 2018/08/03(金) 13:20


再度 ファイルを確認すると、コピー直後はエラーが出ていなかったのに、
またエラーになっています。
また、他のPCで見るとエラーになっていなかったり、
逆に自分のPCではエラーは出ていないのに、他のPCで見るとエラーになっているファイルもあります。
(お助け下さい) 2018/08/03(金) 13:24

 たぶん
 FIND(".",CELL("filename",C7),1)
 は拡張子との区切りの.を探しているのかと思うがそのパス名では\\192.168.1.50の部分にあるのでエラーになっているのでは。
 エラーにならないマシンではIPアドレスではなくコンピュータ名でアクセスしているのでは?
(ねむねむ) 2018/08/03(金) 13:36

 =REPLACE(LEFT(CELL("filename",A1),MATCH(1,INDEX(0/(MID(CELL("filename",A1),ROW($1:$1000),1)="."),0),1)-1),1,FIND("[",CELL("filename",A1))+7,"")
 ではどうだろうか?
 文字列内の最初の.ではなく最後の.を探すようにしている。
(ねむねむ) 2018/08/03(金) 13:46

ねむねむ様
ありがとうございます!
記していただいた数式を入れると、エラーが出なくなりました。
他のPCからも確認しようとしましたが、何故か今はエラーになっていたファイルにエラーが出ないので確認出来ませんが、またエラーが出たら数式をコピーさせていただきます。
勉強不足で知識がなく、困っていましたので本当に助かりました。
ありがとうございます。

(お助け下さい) 2018/08/03(金) 14:30


名無し様
具体的な情報の意味も分からなかった当方に、
数式を示すようアドバイスいただきありがとうございました!

???様
具体的な情報が少ないとのご指摘をいただきありがとうございます!
(お助け下さい) 2018/08/03(金) 14:32


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.