[[20210303213347]] 『和暦(2021年3月3日)を8桁の西暦にしたい』(つな) ページの最後に飛ぶ

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

 

『和暦(2021年3月3日)を8桁の西暦にしたい』(つな)

スクリプト設定初心者です。
和暦(2021年3月3日)を8桁(20210303)の西暦表記にしたいです。
MID関数を使ってみたのですが上手くいきませんでした。
わかる方いらっしゃいましたら教えていただきたいです。
宜しくお願いいたします。

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


>和暦(2021年3月3日)
和暦ではありません。西暦です。
元号で平成(24年3月3日)、令和(24年3月3日)これが和暦です。
注意しましょう
(KI) 2021/03/03(水) 22:16

ちょっと確認。

>スクリプト設定初心者です。
「Office Scripts」について聞きたいってことですか?

>MID関数を使ってみたのですが上手くいきませんでした。
どのようにして、どう上手くいかなかったのか説明されると、アドバイスできることがあるかもしれません。

(もこな2 ) 2021/03/03(水) 22:40


〉KI様
すみません、西暦でした!ご指摘ありがとうございました。

〉もこな2様

閲覧いただきありがとうございます。
OCRの読取ソフトにvbscriptを入力しているのですが、
2021年3月3日を20210303に変換したいのですが
以下のスクリプトで設定しても変換できませんでした。

Dim yyyy,mm,dd

dd=Mid(Me.Text,8,2)
mm=Mid(Me.Text,6,2)
yyyy=Left (Me.Text,4)

Me.Text=yyyy+mm +dd

ご教示いただけますと幸いです。
宜しくお願いいたします。
(つな) 2021/03/04(木) 13:24


>OCRの読取ソフトにvbscriptを入力
なるほど。そういうことでしたら私にはわからないのでお力にはなれなさそうですね。
(一応、こちらは"エクセル"の質問掲示板なので、回答がつかないようであればVBスクリプトを対象にしているフォーラムに移動されるのも手かもしれません)

ExcelVBAであれば

 (1) 「2021年3月3日」をDate型として受け取る(Date型に変換する)
 (2) (1)をFormat関数を使って"yyyymmdd"形式に変換する

というプロセスでいけるんですけどねぇ・・・

(もこな2 ) 2021/03/04(木) 14:28


そう難しく考えなくても。

Me.Textに問題がないとして、これで動かないかな?

 function sample(v)

     if isdate(v) then
         dim dt:dt=cdate(v)
         sample=year(dt)*10000+month(dt)*100+day(dt)
     end if

 end function

 call sample(Me.Text) 

Excel VBA だと Format 関数があるから
こんな書き方しなくてもいいんですけどね。

今回は関係ないけど、Worksheetfunction.Text はできるのかな?
(2u) 2021/03/04(木) 18:55


〉もこな2様
ご返信ありがとうございます。
そうですよね、VBスクリプトはExcelとは違いますよね…
そちらのフォーラムで確認してみます。
ご丁寧に色々教えて頂き、ありがとうございました!
(つな) 2021/03/06(土) 00:03

〉2u様
ご返信ありがとうございます。
教えていただいたスクリプトで試してみたのですが
エラーになってしまい、読み込むことができませんでした…
私の設定が悪いのだと思います。
もっと勉強して出直します!
貴重なお時間いただき教えてくださりありがとうございました。

(つな) 2021/03/06(土) 00:13


 Dim yyyy,mm,dd
 dd = Mid(Me.Text,8,2)
 mm = Mid(Me.Text,6,2)
 yyyy = Left(Me.Text,4)
 これでエラーにならないなら

 Me.Text=yyyy & mm & dd
 でいいのでは?
(´・ω・`) 2021/03/06(土) 00:25

コメント返信:

[ 一覧(最新更新順) ]


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