
PLC(Melsec-Q)から取出※しセル展開した文字コードの変換に関し、全て半角であれば特に問題無く展開できていますが、一部全角コード混じりの場合があり、その過程で理解できない部分が有ります。
※TAKEBISHI DeviceXPlorer OPC Server
1word:13136→DEC2HEX(3350)→RIGHT(50) →CHR(80) →P (OK)
→LEFT(33) →CHR(33) →3 (OK)
2word:-31946→FFFFFF8336 →RIGHT(36) →CHR(36) →6 (OK)
【83】 →┐
3word:13747 →35B3 →RIGHT【B3】 →┴→ShiftJIS(Ox83b3)→【Φ】(ok)
→LEFT(35) →CHR(35) →5 (OK)
答えとしての【Φ】への変換はでき、目的の文字列『P36Φ5』は取れましたが・・・
●なんで2word目の『FFFFFF』が入るのか?? 理解できないでいます。
理解深めたく質問させて頂きました、よろしくお願いします。

No.2ベストアンサー
- 回答日時:
では、
=DEC2HEX(-31946,4)
という感じの桁数指定を付ければ解決しますよね。指定がないと10桁で返ってくるから、今回みたいに欲しくないところまで返されてしまう。

No.1
- 回答日時:
もしかして、16進変換をDWORD(ダブルワード)でやっただけじゃないですか?ワードだったら16進数4桁なので、8336になりますから。
-31946は負数なので最上位ビットが立ちますが、数そのものの表現には必要ない余分なビットもすべて1になるので、結果としてFの羅列が追加されます。こんな感じです。
WORD: 8336 ←16bit(PLCはこれ)
DWORD: FFFF 8336 ←32bit
QWORD: FFFF FFFF FFFF 8336 ←64bit
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
+-を上下並べて入力する方法。
-
丸21以上の入力方法 パワーポイ...
-
word→pdf変換の際に起こる画像...
-
ワード、エクセルで記号の表記
-
ワードで上と同じと言う意味の...
-
m(_ _)m
-
「尹」の字を出すには?
-
ニアイコール?
-
拡張子ebkをtxtかdocに変換
-
PDFをwordに変換するときのサイ...
-
電話のマークを出すには
-
ookumasika
-
SDカードを認識しない。
-
ワードの文字変換について
-
アプリケーションソフトのデー...
-
ワードで送り仮名をカタカナに...
-
ワードで一文字ずつしか打てない!
-
ワードで「わいうえを」を歴史...
-
フランス語でoとeをくっつける...
-
word からPDFへの変換方法がう...
おすすめ情報
すみません、当方はVBA世界のみでDWORD/QWORDは・・・・
セル値 DEC2HEX(エクセル関数)
16 10
15 F
: :
2 2
1 1
0 0
-1 FF・・・F(10個)
-2 FF・・・FE
-3 FF・・・FD の(-)FF・・・は確認できました。
今回は半角が奇数文字で P36+全角Φで (P36)+(6[36]+Φ[上位83])→FFFFFF8336 になり
半角が偶数でP3+全角Φ半角6 となると(P3)+(Φ[83B3])→ 83B3 になりそうですが・・・
「お門違い」ですが教えてください。
※Replace(tgt,"F--f","")で逃げようかと・・