日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

2023-09-12 23:50:17

Re①:ファイル保存についての質問

TKI さん

ファイルを保存する時にエラーが発生してしまい困っております。

----------本文----------
レシピ名=c
レシピを「c.csv」に保存する
----------ここまで----------

を実行すると母艦にc.csvが保存されることを確認しました。



また
----------本文----------
レシピ名=b

「{今日} {今}」を「yyyy-mm-dd-hh時nn分ss秒-{レシピ名}」に日時形式変換
レシピを「{それ}.csv」に保存する
----------ここまで----------
を実行すると意図どおりに
2023-09-12-20時11分17秒-b.csvが保存されました。



しかしレシピ名をcとするとエラーが発生してしまします。
----------本文----------
レシピ名=c

「{今日} {今}」を「yyyy-mm-dd-hh時nn分ss秒{レシピ名}」に日時形式変換
レシピを「{それ}.csv」に保存する
----------ここまで----------

[エラー] デバッグ.nako.bak(4): 関数『保存』の実行中にエラーが起きました。
エラーメッセージ
ファイル"2023-09-12-20時14分19秒2023/09/12 20:14:19.csv"が開けません。ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。
(関数)

エラー内容を参照すると
ファイル名
2023-09-12-20時14分19秒2023/09/12 20:14:19.csv
をつけようとしておりファイル名にスラッシュを含んでいるためエラーが出るようです。
同様に半角cやCを含んでいる場合でも同様にエラーとなるようです。
cやC が年月日時を示す、(2023/09/12 20:14:19)という日付の変数なのかと思うのですが
なにか特殊な語なのでしょうか?
また回避法をお教えいただけないでしょうか。




回避法から。
cが日時形式変換の影響を受けてしまうようなので、日時形式変換の後にレシピ名を追加することになるかと思います。

#-----------------------------------------------------------------------
レシピ名=c
「{今日} {今}」を「yyyy-mm-dd-hh時nn分ss秒」に日時形式変換
それにレシピ名を追加
レシピを「{それ}.csv」に保存する
#-----------------------------------------------------------------------


以下はc以外に何かあるかやってみた結果
#-----------------------------------------------------------------------
結果は空
元=「{今日} {今}」
「abcdefghijklmnopqrstuvwxyz」を文字列分解して反復
  対象を結果に追加
  「 」を結果に追加
  元を対象に日時形式変換
  それを結果に一行追加
結果をメモ記入
おわり
#-----------------------------------------------------------------------

~実行結果~
a a
b b
c 2023/09/12 22:51:41
d 12
e 5
f f
g 令
h 22
i i
j j
k k
l l
m 9
n 51
o o
p p
q q
r r
s 41
t 22:51
u u
v v
w w
x x
y 23
z 0

y,m,d,h,n,s が年月日時分秒
g,e は元号と和暦
tが時:分
zは0が返ってくる謎記号

cはwindowsの設定の
「時刻と言語→日付、自国、地域の書式設定→データ形式を変更する」
のところにある日付と時刻の形式を参照するようです。(windows10)
パソコンの設定を変えたら変わりました。

cはカルチャーのcなのだと思います。
「日付形式 カルチャー」で検索するとC#とかのアレコレがでてきました。
地域による設定ではロケールって語もあった気がするのですが今回は関係ないみたい。

(編集パスワード送信)

子記事

親記事 (No.1709)
返信した記事(元) (No.1709)

この内容(No.1710)に返信

この内容(No.1710)をダウンロード

この内容(No.1710)のテキスト表示





www.eznavi.net