tamajimu.sytes.net Open in urlscan Pro
222.229.49.173  Public Scan

URL: http://tamajimu.sytes.net/archives/911
Submission: On February 18 via manual from JP — Scanned from JP

Form analysis 1 forms found in the DOM

POST http://tamajimu.sytes.net/wp-comments-post.php

<form action="http://tamajimu.sytes.net/wp-comments-post.php" method="post" id="commentform" class="comment-form">
  <p class="comment-notes"><span id="email-notes">メールアドレスが公開されることはありません。</span> <span class="required-field-message" aria-hidden="true"><span class="required" aria-hidden="true">*</span> が付いている欄は必須項目です</span></p>
  <p class="comment-form-comment"><textarea id="comment" class="expanding" name="comment" cols="45" rows="8" aria-required="true" placeholder=""></textarea></p>
  <p class="comment-form-author"><label for="author">名前 <span class="required" aria-hidden="true">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" required="required"></p>
  <p class="comment-form-email"><label for="email">メール <span class="required" aria-hidden="true">*</span></label> <input id="email" name="email" type="text" value="" size="30" maxlength="100" aria-describedby="email-notes" required="required"></p>
  <p class="comment-form-url"><label for="url">サイト</label> <input id="url" name="url" type="text" value="" size="30" maxlength="200"></p>
  <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="コメントを送信"> <input type="hidden" name="comment_post_ID" value="911" id="comment_post_ID">
    <input type="hidden" name="comment_parent" id="comment_parent" value="0">
  </p>
  <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="13b8a0ba73"></p>
  <p style="display: none !important;"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="1645182719540">
    <script>
      document.getElementById("ak_js_1").setAttribute("value", (new Date()).getTime());
    </script>
  </p>
</form>

Text Content

Tamajimu



フォローする



ホーム
クラウド
PC


VBAでシフトJISファイルをEBCDICに変換する

2020/11/12 PC, クラウド

VBAでシフトJISファイルをEBCDICに変換する必要があり、
ネットを探すと「VBS/シフトJISファイルをEBCDICに変換する」ていうページがあったので、
それを参考にVBAにしてみた。

VBS/シフトJISファイルをEBCDICに変換する
http://wikis.sakura.ne.jp/tipi/?VBS/%A5%B7%A5%D5%A5%C8JIS%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2EBCDIC%A4%CB%CA%D1%B4%B9%A4%B9%A4%EB

読み込むファイルは固定長のシフトJISの1バイト文字だけのファイル。
その内容をEBCDICにして改行コードを削除して出力します。



Sub test()
    
    '【参照設定】Microsoft ActiveX Data Objects 6.1 Library にすること
    
    Dim oFileStream As ADODB.Stream
    Dim b_data() As Byte
    
    'ファイル名
    input_file = "data1.TXT"
    output_file = "data2.TXT"

    '変換テーブル読み込み
    xlatTable = ASCII_To_EBCDIC_Table()
    On Error GoTo Err


    '入力ファイルのオープン
    Set oFileStream1 = New ADODB.Stream        'ADODB.Stream生成
    oFileStream1.Type = adTypeText             'Textモード
    oFileStream1.Charset = "Shift_JIS"         '文字コード(Shift_JIS,UTF-8 ,Unicodeなど)
    oFileStream1.Open                          'Streamのオープン
    oFileStream1.LoadFromFile (input_file)
    
     '出力ファイルのオープン
    Set oFileStream2 = New ADODB.Stream        'ADODB.Stream生成
    oFileStream2.Type = adTypeBinary           'Binary  モード
    oFileStream2.Open                          'Streamのオープン
    
    'ファイルの終りまでループ
    Do While Not (oFileStream1.EOS)
        '1行読み込み(readText(adReadAll):すべて読み込み)
        x_line = oFileStream1.ReadText(adReadLine)

        ReDim b_data(Len(x_line) - 1) As Byte
        For i = 0 To Len(x_line) - 1
            codeConv = Mid(xlatTable, (Asc(Mid(x_line, i + 1, 1)) * 2) + 1, 2)
            'Debug.Print i & ":" & Hex(Asc(Mid(x_line, i + 1, 1))) & " " & codeConv & " " & Val("&H" + codeConv)
            b_data(i) = Val("&H" + codeConv)
        Next

        oFileStream2.Write b_data   '内容を書き込む'
        

    Loop
    
    oFileStream1.Close
    Set oFileStream1 = Nothing

    oFileStream2.SaveToFile output_file, 2 '2:adSaveCreateOverWrite
    oFileStream2.Close
    Set oFileStream = Nothing

    Exit Sub

Err:
    Set oFileStream = Nothing
    
    'エラー内容
    MsgBox (Err.Description)

End Sub


Function ASCII_To_EBCDIC_Table()
'
' Returns the following table as a string for use by the Translate
' function to translate an ASCII-ISO/ANSI string to an EBCDIC string.
'
' (Hitachi EBCDIK)
'   0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
' 0 00 01 02 03 37 2D 2E 2F 16 05 15 0B 0C 0D 0E 0F :016    :----------------:
' 1 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F :032    :----------------:
' 2 40 4F 7F 7B E0 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 :048    : !"#$%&'()*+,-./:
' 3 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F :064    :0123456789:;<=>?:
' 4 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 :080    :@ABCDEFGHIJKLMNO:
' 5 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A 5B 5A 5F 6D :096    :PQRSTUVWXYZ[\]^_:
' 6 79 59 62 63 64 65 66 67 68 69 70 71 72 73 74 75 :112    :~abcdefghijklmno:
' 7 76 77 78 80 8B 9B 9C A0 AB B0 B1 C0 6A D0 A1 07 :128    :pqrstuvwxyz{|}~ :
' 8 20 21 22 23 24 25 06 17 28 29 2A 2B 2C 09 0A 1B :133    :----------------:
' 9 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E E1 :160    :----------------:
' A 57 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 :176    : 。「」、・ヲァィゥェォャュョッ:
' B 58 81 82 83 84 85 86 87 88 89 8A 8C 8D 8E 8F 90 :192    :ーアイウエオカキクケコサシスセソ:
' C 91 92 93 94 95 96 97 98 99 9A 9D 9E 9F A2 A3 A4 :208    :タチツテトナニヌネノハヒフヘホマ:
' D A5 A6 A7 A8 A9 AA AC AD AE AF BA BB BC BD BE BF :224    :ミムメモヤユヨラリルレロワン゙゚:
' E B2 B3 B4 B5 B6 B7 B8 B9 CA CB CC CD CE CF DA DB :240    :----------------:
' F DC DD DE DF EA EB EC ED EE EF FA FB FC FD FE FF :256    :----------------:
'
'   ASCII_To_EBCDIC_Table = _
'   "00010203372D2E2F1605150B0C0D0E0F101112133C3D322618193F271C1D1E1F" & _
'   "404F7F7BE06C507D4D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F" & _
'   "7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E94A5B5A5F6D" & _
'   "79596263646566676869707172737475767778808B9B9CA0ABB0B1C06AD0A107" & _
'   "202122232425061728292A2B2C090A1B30311A333435360838393A3B04143EE1" & _
'   "57414243444546474849515253545556588182838485868788898A8C8D8E8F90" & _
'   "9192939495969798999A9D9E9FA2A3A4A5A6A7A8A9AAACADAEAFBABBBCBDBEBF" & _
'   "B2B3B4B5B6B7B8B9CACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF"

'(Fujitsu EBCDIC)
'   0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
' 0 00 01 02 03 37 2D 2E 2F 16 05 15 0B 0C 0D 0E 0F :016    :----------------:
' 1 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F :032    :----------------:
' 2 40 4F 7F 7B E0 6C B6 B7 4D 5D 5C 4E 6B 60 4B 61 :048    : !"#$%&'()*+,-./:
' 3 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F :064    :0123456789:;<=>?:
' 4 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 :080    :@ABCDEFGHIJKLMNO:
' 5 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A 5B 5A 5F 6D :096    :PQRSTUVWXYZ[\]^_:
' 6 79 7D B4 63 64 65 66 67 68 69 70 71 72 73 74 75 :112    :~abcdefghijklmno:
' 7 76 77 78 50 8B 9B 9C A0 AB B0 B1 C0 6A D0 A1 07 :128    :pqrstuvwxyz{|}~ :
' 8 20 21 22 23 24 25 06 17 28 29 2A 2B 2C 09 0A 1B :133    :----------------:
' 9 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E E1 :160    :----------------:
' A 57 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 :176    : 。「」、・ヲァィゥェォャュョッ:
' B 58 81 82 83 84 85 86 87 88 89 8A 8C 8D 8E 8F 90 :192    :ーアイウエオカキクケコサシスセソ:
' C 91 92 93 94 95 96 97 98 99 9A 9D 9E 9F A2 A3 A4 :208    :タチツテトナニヌネノハヒフヘホマ:
' D A5 A6 A7 A8 A9 AA AC AD AE AF BA BB BC BD BE BF :224    :ミムメモヤユヨラリルレロワン゙゚:
' E B2 B3 B4 B5 B6 B7 B8 B9 CA CB CC CD CE CF DA DB :240    :----------------:
' F DC DD DE DF EA EB EC ED EE EF FA FB FC FD FE FF :256    :----------------:
'
'    0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F
    ASCII_To_EBCDIC_Table = _
    "00010203372D2E2F1605150B0C0D0E0F101112133C3D322618193F271C1D1E1F" & _
    "404F7F7BE06CB6B74D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F" & _
    "7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E94A5B5A5F6D" & _
    "797DB463646566676869707172737475767778508B9B9CA0ABB0B1C06AD0A107" & _
    "202122232425061728292A2B2C090A1B30311A333435360838393A3B04143EE1" & _
    "57414243444546474849515253545556588182838485868788898A8C8D8E8F90" & _
    "9192939495969798999A9D9E9FA2A3A4A5A6A7A8A9AAACADAEAFBABBBCBDBEBF" & _
    "B2B3B4B5B6B7B8B9CACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF"
'相違点
'   (Hitachi) (Fujitsu)
' & 50        B6
' ' 7D        B7
' a 59        7D
' b 62        B4
' s 80        50

End Function





にほんブログ村
にほんブログ村
にほんブログ村

シェアする

 * 
   ツイート
 * 
 * 
 * 
 * 
 * 

フォローする




関連記事


UWSCを使ってCLIP STUDIO PROでPNG一括書き出し

CLIP STUDIO PROでLINEのスタンプを作ってみたんだが、最終的にPNGファイルにする必要があり、 CLIP STUDIO P...

記事を読む


EXCELとAVIUTLでお手軽に横スクロール比較動画を作成する

動画内で使ったエクセルマクロ Yokosukuimage

記事を読む


弥生会計の新規インストールでSQL SERVER2017をインストールしてみた

弥生会計19にはSQLserver2014 Express 32bit版がバンドルされてて、通常の手順だとこれがインストールされる。 マシ...

記事を読む


POWERSHELLでゆっくりムービーメーカー3のセリフ・表情を一発入力

Book1PowerShellでゆっくりムービーメーカー3のセリフ・表情を一発入力するスクリプトを作ってみた。 チャンネル登録をお...

記事を読む


JSCRIPTでWORDPRESSの投稿

JScriptでWordPressの投稿してみました。 Windowsの標準機能でできます。不要なアプリは一切必要ありません。 // I...

記事を読む


スマホをペンタブ化させるアプリ「VIRTUALTABLET」をインストールしてみた

PCでちょっとした絵を書くことになり、流石にマウスやトラックボールだと使いづらいので何かないかと探したら、スマホをペンタブ化させるアプリがあ...

記事を読む


【RPA】EXCELVBAでゆっくりムービーメーカー4を自動化【ゆっくり解説】

β68より、ゆっくりムービーメーカー4の機能として台本ファイルの読み込みが実装されました。 よって、β68以降ではそち...

記事を読む


フランスの地上波放送を日本からネットで見る

フランスというのはテレビ放送に関しては日本より進んでて、ネットでライブ放送を見ることができる。 でもはやり権利とかの問題でフランス国外から...

記事を読む


CLIP STUDIOで正三角形格子を描いてみる

CLIP STUDIOで正三角形格子を描いてみる CLIP STUDIOにはオートアクションていうのがあって手続きを自動でやってくれる機能...

記事を読む


無料ルーターのOPENWRTで楽天ひかりIPV6接続

楽天モバイル加入者特典で楽天ひかりが1年間無料ていうのに釣られて、プロバイダーを楽天ひかりに変えてみた。 今のプロバイダーはIPv6接続が...

記事を読む


白いスズメを見た
PowerShellでゆっくりムービーメーカー3のセリフ・表情を一発入力


コメントをどうぞ コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です



名前 *

メール *

サイト





Δ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

管理人Tamajimuのプロフィール
埼玉県在住のIT技術者です。
趣味は海外旅行と旨いものをたべることです。
連絡先・プライベートポリシー

このサイトは下記のアフィリエイト宣伝プログラムに参加しています。
アマゾン アフィリエイト
バリューコマース アフィリエイト
Googleアドセンス
楽天アフィリエイト





カテゴリー

 * Araの旅日記 (11)
   * エジプト記 (11)
 * クラウド (23)
   * AWS (4)
   * OpenWrt (3)
   * PC (19)
     * プログラム (6)
     * ゆっくりMovieMaker (7)
 * 国内旅行 (27)
   * 2018乗鞍エコーライン (3)
   * 2018夏・高野山の旅 (5)
   * 2018東日本・北海道パスの旅 (6)
   * 中国 (1)
   * 北東北 (2)
   * 北海道 (3)
   * 北関東 (5)
   * 南東北 (3)
   * 南関東 (1)
   * 四国 (1)
   * 甲信越 (6)
   * 近畿 (6)
 * 未分類 (4)
 * 海外旅行 (38)
   * 2013中欧・フランス革命記念日の旅 (4)
   * 2017ハンガリー・イタリア秘湯の旅 (5)
   * アジア (1)
   * 中東・北アフリカ (7)
   * 北米 (5)
   * 南半球 (1)
   * 東欧 (6)
   * 西欧 (22)
 * 野鳥 (5)

© 2000 Tamajimu.