ちょっと困ったことがあるので、ご存知の方回答お願いします。m(__)m
実は、Excel2000のテキストが2冊あるんですが、「名前を付けて保存」
の時にファイル名に制限があると記述があります。
しかし、1冊はファイル名の長さは、半角で255文字(全角127文字)とあり、
もう1冊は半角で250文字(ただいパス長が259文字)とあります。
どっちが正しいのでしょうか。
それと、ファイル名にパス長を書くとはどんな使い方なのですか。
初心者のつまらない質問ですが、どうか教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

答え:どちらも正しくない。


No1,2の回答の通り218文字のようです。試しました。但しどちらの回答にも不備が有ります。

D:\12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901.xls

というファイルは作成出来ましたが

D:\12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
123456789012.xls

というファイルは作成できませんでした。

エラーメッセージは
「ファイルアクセスできませんでした。次のいづれかを行ってみえください。

・指定したフォルダがあることを確認します。
・ファイル名を含むフォルダが読み取り専用になっていないことを確認します。
・指定したファイル名に次のいずれの文字も含まれていないことを確認します:<>?[]:|*
・ファイル名及びパス名が半角で218より長くないことを確認します。」
という事です。
なおD:\1234567890というフォルダをつけると11文字分取られることに注意して下さい。

D:\1234567890\1234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
1234567890.xls

ドライブ名+フォルダ名+ファイル名(注意:\も1文字と数える)で218文字以内のファイル名で有ることです。

当方テストした環境はWin98SE+Office2000
注意:見やすくするために50文字ごとに改行(最初の行は違います)
    • good
    • 0
この回答へのお礼

ありがとうございました。yanmaaさんお手数かけました。
実際やってみたらいいんですよね(^o^)そういう意味でも
参考になりましたm(__)m
なんかすっきりした!感謝してます。

お礼日時:2001/10/07 20:38

No.#2のRIO-Freakです。



No.#1のy_heroheroさんと私の回答は実質同じものです。(私も通常はWindows2000を使っています。)

y_heroheroさんの回答には、ファイルの拡張子が含まれていないから215文字、
私の回答にはファイルの拡張子が含まれるから+3文字で218文字です。

Excel2000の「ヘルプ」-「Microsoft Excel ヘルプ」で『キーワード』に『ファイル名』と入力して『検索』をクリック、
「トピックを選択してください」から『ブックに名前を付ける方法について』をクリックすれば、
MRDさんの環境での、ファイル名に使用できる文字数がわかると思います。
    • good
    • 0

パス長(文字数)はすでにみなさんの回答がありますから


「ファイル名にパス長を書くとはどんな使い方なのですか。」の方に。

「名前を付けて保存」を開くと保存先のフォルダが見えますよね。
このとき、保存したい場所(ドライブまたはフォルダ)が異なれば、
コンボボックスから保存したい場所を指定しますよね。
ここで保存したい場所(ドライブまたはフォルダ)をファイル名と同時に
指定(実際には入力)してしまうことが目的です。

通常、保存先は「My Documents」ですよね。
「今回はFDに保存したい」というときは「保存したい場所」(ここではA:\)を
指定せずに、[A:\Nantoka.xls]と入力すればOKということです。
もちろん、FD以外のどこでも良いわけですから、「D:\TEST\TEST.XLS」でも
なんでも良いわけです。

わざわざ250文字前後も入力されることは無いでしょうが、
コピー&ペーストなんかでの作業は考えられます。
そういう場合に備えてのこと、とお考えください。
    • good
    • 0
この回答へのお礼

bin-chanさんありがとうございました。パス長を指定することでファイル名と
保存場所、両方を指定できるわけですね。
納得しました。あとはファイル名の長さについて回答もう少し待ちたいと
思います。

お礼日時:2001/10/06 06:10

Excel2000のヘルプに、



『ドライブ名、サーバー名、フォルダのパス、ファイル名、およびファイル名の 3 文字の拡張子を含めて半角で 218 文字まで』

とあります。

この回答への補足

回答ありがとうございます。218文字ですというのもあるんですね。250文字
とか、259文字や255文字とか・・・
OSのバージョンの違いとかで変わってくるのでしょうか?
RIO-Freakさんありがとうございました。もう少し回答を待ってみたいと
思います。

補足日時:2001/10/06 06:03
    • good
    • 0

Windows2000では、


ExcelとかWordとかアプリケーションには関係なく、
ファイル名は、スペースも含めて最大 215 文字です。
⇒Win9x系はちょっと忘れました。

ただし、215 文字ものファイル名はお勧めしません。
ほとんどのアプリケーションは、長すぎるファイル名を解釈できないからです。

この回答への補足

回答ありがとうございます。Win2000だと215文字になるんですね。勉強に
なります。
僕が使用しているテキストは2冊とのWin98用ですので、今後何かの資料で
ファイル名は215文字とあれば参考にしたいと思います。

補足日時:2001/10/06 05:58
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q全角文字をまとめて半角に変換する方法を教えてください!

業務上の処理で困っていることがあります。お知恵をお貸し下さい
「メーカーからCVSファイルでデータが届く→それを読み込んで伝票発行」という作業を行っているのですが
住所等の番地やマンション名等(カナ)が全て全角で入力されている状態なのです。(同じ文字列に漢字や平仮名も混じっています)
伝票発行するソフトは規定文字数が少なめなのでこれをいちいち半角に直してから
読み込まないといけません。手作業になりますし、件数も多いので困っています
「選択した行(シート全体でも構いません)の文字列で半角に直せるものは半角に変換」というマクロを組むことは可能でしょうか?
初心者レベルですが何度かVBAを使ったことはあります
何卒よろしくお願い致します。

Aベストアンサー

列全体でやる場合は

変換した列を選択して(このマクロだと一つのセルを選択しても列全体が変換されてしまうので注意してください)↓を実行してください。なお連続した列は複数列選択でできますが(例:A,B,C,D列)A列,C列といった列を選択して実行というのは私の技術ではできませんでした。。

Sub test1()

Dim myRange As Range, myColumn As Integer, endRow As Integer

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set myRange = Selection

myColumn = Selection.Columns.Count

For i = 1 To myColumn

endRow = Cells(65536, Selection.Column).End(xlUp).Row

Cells(1, Selection.Column).Select

Do Until Selection.Row = endRow

If Selection = "" Then GoTo S1

Selection = StrConv(Selection.Value, vbNarrow)

S1:

ActiveCell.Offset(1, 0).Select

Loop

ActiveCell.Offset(0, 1).Select


Next i

myRange.Select

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

とりあえず列全体でしたら↑を

選択セルのみでしたら↓をお使いください。

Sub test01()

Selection = StrConv(Selection.Value, vbNarrow)

End Sub

列全体でやる場合は

変換した列を選択して(このマクロだと一つのセルを選択しても列全体が変換されてしまうので注意してください)↓を実行してください。なお連続した列は複数列選択でできますが(例:A,B,C,D列)A列,C列といった列を選択して実行というのは私の技術ではできませんでした。。

Sub test1()

Dim myRange As Range, myColumn As Integer, endRow As Integer

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set myRange = Selection

myColu...続きを読む

Q(Excel)VBA ファイルパスからファイル名を求める

Excel97のVBAで
 f-name = Application.GetOpenFilename()
とするとf-nameにはオープンしたファイルのパスを含めたファイル名が代入されます。
これをそのまま
 Workbooks(f-name).close
とすると、パス部分が余分なのかエラーになります。
そこで、このf-nameからファイル名(ブック名)だけ切り出す方法があれば教えてください。
もしくはこのオープンからクローズまでの流れとして良いやり方があれば教えてください。

Aベストアンサー

Excel97の場合は、最後の『\』を探しにいく必要があると思います。下記は処理例です。
キャンセルした時のf-nameは別途処理してください。

Public Function myFileName(flName As String)
  Dim L As Integer
  For L = Len(flName) To 1 Step -1
    If Mid(flName, L, 1) = "\" Then
      myFileName = Right(flName, Len(flName) - L)
      Exit For
    End If
  Next
End Function

QExcelの文字(全角/半角)の統一

Excelのファイル全体の文字を「英数字なら半角、括弧なら全角」などのように統一したいのですが、例として

123abc!#%質問
    ↓
123abc!#%質問

こんな風になんかのツールを使うのか、Excelの機能としてあるのか、方法がありましたら教えて下さい。
別にExcelに限った方法でなくても結構です。
よろしくお願いします。

Aベストアンサー

マクロを使えばどのような設定でもできます。

また、マクロを使わない方法
関数を使う方法
ASC関数は全ての英数字等を半角に
JIS関数は全ての英数字等を全角に
変換できます。
>英数字なら半角、括弧なら全角
という条件なら一旦全て半角に変換してから「編集」「置換」で半角の括弧を全角の括弧に置換すればできます。

この手続きが面倒ならマクロとして登録すればよいと思います。

Qセル内で半角英数字と文字を入力してあるものを、文字だけにしたい(数字は不定)

こんなことできますか?
000S58:あかさたな商事
020230:いきしちに会社 を

あかさたな商事
いきしちに会社

と表示させる為の関数などはありますでしょうか?
宜しくお願いいたします。

Aベストアンサー

コードらしきものの桁数が6桁(「:」も含めれば7桁)固定なら、
=SUBSTITUTE(A1,LEFT(A1,7),"")
でもいけます。

Q「もしもセルA1にY(半角大文字)またはy(半角小文字)が含まれるなら」のマクロ表現は?

よろしくお願いします。いつもgooの皆さんには大変お世話になっています
エクセルは2013です

「もしもセルA1にY(半角大文字)またはy(半角小文字)が含まれるなら」はマクロでどう書いたら
良いでしょうか?

Aベストアンサー

例えば

UCase(Range("A1").Value) Like "*Y*"


このカテゴリの人気Q&Aランキング

おすすめ情報