!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part66
https://mevius.5ch.net/test/read.cgi/tech/1589085825/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part67
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 33da-3+hg)
2020/06/26(金) 02:01:29.56ID:uDfmpksE0876デフォルトの名無しさん (ワッチョイ ff02-YpYZ)
2020/08/24(月) 19:07:40.74ID:k+YcXwpu0 Worksheet_Changeイベントを使えばいいです
877デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/24(月) 19:26:54.83ID:w4ZB1tmF0 >>875
データの入力規則のエラーメッセージ
データの入力規則のエラーメッセージ
878デフォルトの名無しさん (ワッチョイ 7f42-KCZZ)
2020/08/24(月) 20:16:24.02ID:pfMfCN200 1を入力した時点でメッセージボックスが出ると思うんだが10まではセーフで100だと確認のほうが良いのか
879デフォルトの名無しさん (スップ Sd1f-5gYb)
2020/08/24(月) 20:27:42.41ID:N/ceNi6Ud >>875だけどいい忘れてました
0を入力した場合はメッセージ出さずにそのまま0と入力
0以上(例えば200)を入力した場合は「●なんだから入力すんなボケ!どうしても"200"って入力したいの?」
「OK」「キャンセル」
みたいなね
0を入力した場合はメッセージ出さずにそのまま0と入力
0以上(例えば200)を入力した場合は「●なんだから入力すんなボケ!どうしても"200"って入力したいの?」
「OK」「キャンセル」
みたいなね
880デフォルトの名無しさん (スプッッ Sd9f-5gYb)
2020/08/24(月) 20:34:28.35ID:ZbbapVPTd OK押したらそのまま200がセルに入力される
キャンセル押したら""ね
キャンセル押したら""ね
881デフォルトの名無しさん (ワッチョイ 9f8e-NwtD)
2020/08/24(月) 20:35:32.06ID:C0VIZWNb0 馬鹿は条件を後で付け加える
882デフォルトの名無しさん (スプッッ Sd9f-5gYb)
2020/08/24(月) 20:36:54.05ID:ZbbapVPTd >>881
誹謗中傷?
誹謗中傷?
883デフォルトの名無しさん (ラクッペペ MM4f-NoNb)
2020/08/24(月) 20:42:38.20ID:hwq7Y5YHM メッセージボックスはうっとおしいからセルの色を変えるぐらいのほうが喜ばれるよ
884デフォルトの名無しさん (スプッッ Sd9f-5gYb)
2020/08/24(月) 20:46:47.07ID:ZbbapVPTd885デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/24(月) 20:56:49.89ID:w4ZB1tmF0 数字以外を入力したら?
886デフォルトの名無しさん (スプッッ Sd1f-5gYb)
2020/08/24(月) 20:59:38.82ID:KH3D74B7d >>885
数字以外入力しません
数字以外入力しません
887デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/24(月) 21:02:06.67ID:w4ZB1tmF0 自主的にしないのなら入力規則をユーザ設定にしてエラースタイルを注意でいいじゃんかと思うんだが
888デフォルトの名無しさん (スッップ Sd9f-5gYb)
2020/08/24(月) 21:19:01.81ID:hykwk2E+d889デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/24(月) 21:58:37.53ID:w4ZB1tmF0 ●があるあったらダイアログ表示するだけ
890デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/24(月) 21:58:57.09ID:w4ZB1tmF0 ●があったら
891デフォルトの名無しさん (ドコグロ MM7f-a78p)
2020/08/24(月) 22:34:30.60ID:6Nxhc9klM 個性的な物を作りたいのなら図形を使えば色も形も自由自在に作れる
892デフォルトの名無しさん (ワッチョイ ff63-3Lde)
2020/08/25(火) 07:27:56.68ID:Dix5Myuw0 Win10で、VBAを作っています。
テキストファイルをLine関数で1行ずつ読み込み
読んだ行にてInStr関数で円マーク(\)を検索
しています。
InStr(1, 検索対象, "\")
と書いています。
しかし\が無い行で「ある」と判定されているようです。
\にはエスケープ文字が必要だからではないかと思いますが
どう書いたら良いかわからず途方に暮れています。
どなたかご教示ください。
(文字コードで指定すれば良いようですが
他の担当者が理解できない可能性もあるので
別の方法も把握したく存じます)
テキストファイルをLine関数で1行ずつ読み込み
読んだ行にてInStr関数で円マーク(\)を検索
しています。
InStr(1, 検索対象, "\")
と書いています。
しかし\が無い行で「ある」と判定されているようです。
\にはエスケープ文字が必要だからではないかと思いますが
どう書いたら良いかわからず途方に暮れています。
どなたかご教示ください。
(文字コードで指定すれば良いようですが
他の担当者が理解できない可能性もあるので
別の方法も把握したく存じます)
893デフォルトの名無しさん (ワッチョイ ff02-YpYZ)
2020/08/25(火) 09:38:34.28ID:UEyqjSRY0 無いのにあると判定される行の文字列を教えて下さい
894デフォルトの名無しさん (ワッチョイ 7f80-6SBr)
2020/08/25(火) 09:40:05.96ID:j61R6fge0 instr特に問題なさそうですが。
ウォッチ式の想定外時検索対象文字列は晒せないのですか?
instr使わずに1文字ずつ取るとか?
ウォッチ式の想定外時検索対象文字列は晒せないのですか?
instr使わずに1文字ずつ取るとか?
895デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/25(火) 10:33:08.00ID:JyPo3Qi40 >>892
されてるようですじゃなくてちゃんと確認して
されてるようですじゃなくてちゃんと確認して
896デフォルトの名無しさん (テテンテンテン MM4f-Is5t)
2020/08/25(火) 10:41:04.86ID:8u+D4XfyM >>893
海砂利水魚の水行末\n
海砂利水魚の水行末\n
897デフォルトの名無しさん (ワッチョイ ff02-YpYZ)
2020/08/25(火) 11:01:09.56ID:UEyqjSRY0 >>896
次の人どうぞ
次の人どうぞ
898デフォルトの名無しさん (テテンテンテン MM4f-Is5t)
2020/08/25(火) 11:14:02.60ID:HdlOc3e6M >>893
[壁]_・)_シン・シンギュラリティ¥n
[壁]_・)_シン・シンギュラリティ¥n
899デフォルトの名無しさん (ラクッペペ MM4f-pqEW)
2020/08/25(火) 12:47:56.13ID:LoAGT2GVM >>893
会社の住所です
一文字目が全角郵便マーク
2文字目が全角スペース
三文字目から半角数字で郵便番号です。
\と半角ハイフンの間を取り出す処理を
書いたところ
郵便番号最初の3桁、
ハイフンの手前まで
が取り出されますので
全角スペースが\マークとして
扱われてると思ってます
会社の住所です
一文字目が全角郵便マーク
2文字目が全角スペース
三文字目から半角数字で郵便番号です。
\と半角ハイフンの間を取り出す処理を
書いたところ
郵便番号最初の3桁、
ハイフンの手前まで
が取り出されますので
全角スペースが\マークとして
扱われてると思ってます
900デフォルトの名無しさん (テテンテンテン MM4f-Is5t)
2020/08/25(火) 12:58:49.60ID:KRGfI1UYM >>893
「\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
\と半角ハイフンの間を取り出す処理
を全角スペースが\マークとして扱われてると思ってます
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-」
「\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
\と半角ハイフンの間を取り出す処理
を全角スペースが\マークとして扱われてると思ってます
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-」
901デフォルトの名無しさん (ワッチョイ 7f2f-3Lde)
2020/08/25(火) 13:03:59.81ID:at7FUvm30902デフォルトの名無しさん (ワッチョイ ff02-YpYZ)
2020/08/25(火) 13:39:05.50ID:UEyqjSRY0 >>899
その説明だとコード晒してもらわないとわからん
住所そのまま晒してって言ってるんじゃなくて
別の文字に置き換えていいから同じフォーマットで
処理前後でどうなってほしい所がどうなってしまうのか書いてもらわないとわからない
その説明だとコード晒してもらわないとわからん
住所そのまま晒してって言ってるんじゃなくて
別の文字に置き換えていいから同じフォーマットで
処理前後でどうなってほしい所がどうなってしまうのか書いてもらわないとわからない
903デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/25(火) 13:53:58.00ID:JyPo3Qi40 >>900
なんで想像するだけで実際の中身を確認ようとしないの
なんで想像するだけで実際の中身を確認ようとしないの
904デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/25(火) 13:54:35.07ID:JyPo3Qi40905デフォルトの名無しさん (JP 0Hc3-n+O8)
2020/08/25(火) 14:14:41.86ID:NinLgEivH プログラムってのはなあ、思った通りには動かないもんなんだよ
いつでも書いた通りに動くだけ
いつでも書いた通りに動くだけ
906デフォルトの名無しさん (ワッチョイ 1fda-YpYZ)
2020/08/25(火) 14:23:43.06ID:QWQtRQIZ0 タブとか改行(CR+LF)とかバイナリデータが混ざっているとか機種依存文字とか
文字コードの違いとか色々あるからな
文字コードの違いとか色々あるからな
907デフォルトの名無しさん (ワッチョイ 7f2f-3Lde)
2020/08/25(火) 14:28:30.69ID:at7FUvm30 まあ一番怪しいのは、文字コード関係でテキストがちゃんと読めてない
ちゃんと読みこんだデータのバイナリ確認してみろ
ちゃんと読みこんだデータのバイナリ確認してみろ
908デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/25(火) 14:43:48.86ID:JyPo3Qi40 line inputはSJISで読み込む
バイナリ確認しなくても元ファイルがSJISであればそれでいい
バイナリ確認しなくても元ファイルがSJISであればそれでいい
909デフォルトの名無しさん (ラクッペペ MM4f-pqEW)
2020/08/25(火) 15:50:41.61ID:LoAGT2GVM すみません892です
デバッガで見たら
全部の行で1を返してました
つまり全行、先頭は\マークみたいです
1文字目は無視するようにしたら
意図通りの動きになりました
デバッガで見たら
全部の行で1を返してました
つまり全行、先頭は\マークみたいです
1文字目は無視するようにしたら
意図通りの動きになりました
910デフォルトの名無しさん (ワッチョイ ff02-YpYZ)
2020/08/25(火) 16:00:19.40ID:UEyqjSRY0911デフォルトの名無しさん (ワッチョイ 1f7c-u2+K)
2020/08/25(火) 16:23:37.10ID:JyPo3Qi40 先頭が\かどうかすらも確認しないのか…
912デフォルトの名無しさん (オッペケ Sr73-rg60)
2020/08/25(火) 17:36:53.32ID:Lm28KJF/r VBAからPowerShellで外部コマンドを実行して出力内容を加工したいのですが、うまくいきません
現在は、Execの引数に下記のように書いてます
powershell -Command "& Invoke-Expression 'コマンドのパス\コマンド.exe' -option1 -option2 "foo bar" >>'一時ファイル.txt'"
どうしたらよいでしょうか
現在は、Execの引数に下記のように書いてます
powershell -Command "& Invoke-Expression 'コマンドのパス\コマンド.exe' -option1 -option2 "foo bar" >>'一時ファイル.txt'"
どうしたらよいでしょうか
913デフォルトの名無しさん (アウアウウー Sa63-3MaI)
2020/08/25(火) 18:00:08.63ID:YUvg5uyAa >>909
1件目でも入っているのかな?
1件目でも入っているのかな?
914デフォルトの名無しさん (アウアウカー Sa13-tqqx)
2020/08/25(火) 18:12:08.06ID:mPnhNdWta テキスト全行読み込みしてsplitしてる説
んで\rでsplitして\nが先頭に来てるんじゃね
んで\rでsplitして\nが先頭に来てるんじゃね
915デフォルトの名無しさん (ワッチョイ 9f40-JHA7)
2020/08/25(火) 20:46:10.83ID:+ct4ya2Y0 >>912
Exec("powershell -Command Invoke-Expression 'コマンドのパス\コマンド.exe' -option1 -option2 'foo bar' >> '一時ファイル.txt'")
Exec("powershell -Command Invoke-Expression 'コマンドのパス\コマンド.exe' -option1 -option2 'foo bar' >> '一時ファイル.txt'")
916デフォルトの名無しさん (ラクッペペ MM4f-NoNb)
2020/08/25(火) 20:53:13.85ID:4vNIHvGrM shell でいいのにわざわざ外部オブジェクト使う人っているよね
917デフォルトの名無しさん (アウアウウー Sa63-/2iM)
2020/08/25(火) 21:28:28.78ID:n9RIifSya >>914
改行コードは別に文字列としての\が入ってる訳じゃないだろ
改行コードは別に文字列としての\が入ってる訳じゃないだろ
918デフォルトの名無しさん (オッペケ Sr73-rg60)
2020/08/25(火) 22:12:02.97ID:Lm28KJF/r >>915
ありがとうございます
もう一点よろしいでしょうか
標準出力にUnicodeで吐き出すコンソールアプリの出力を、Wscript.Shell.ExecのStdOutを使用して読み込みたいのですが、文字化けします
個人情報を扱うのでできれば一時ファイルを作らずに作業したいのですが、Unicodeの標準出力を直接読み込む方法は無いでしょうか
ありがとうございます
もう一点よろしいでしょうか
標準出力にUnicodeで吐き出すコンソールアプリの出力を、Wscript.Shell.ExecのStdOutを使用して読み込みたいのですが、文字化けします
個人情報を扱うのでできれば一時ファイルを作らずに作業したいのですが、Unicodeの標準出力を直接読み込む方法は無いでしょうか
919デフォルトの名無しさん (テテンテンテン MM4f-Is5t)
2020/08/25(火) 22:59:12.42ID:8Q4E/UJjM920デフォルトの名無しさん (ワッチョイ 118e-WkEz)
2020/08/26(水) 01:37:45.74ID:zCSTsYdn0 >>918
スレチだろ、厚かましい
スレチだろ、厚かましい
921デフォルトの名無しさん (ワッチョイ 452c-VQ5f)
2020/08/26(水) 02:00:19.04ID:BpaQECb00 >>918
オプションなどで、文字コードを指定できないの?
オプションなどで、文字コードを指定できないの?
922デフォルトの名無しさん (ワッチョイ 7901-yRqa)
2020/08/26(水) 02:56:47.46ID:oEB3gdtA0 これから新規に作る形式の文字コードは、UTF-8とGB18030の二択じゃないでしょうかね。
923デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/26(水) 11:13:08.29ID:DBm/bRJ+r >>921
調べたところわかりませんでした
Unicodeの文字が欠落するのでSJISに変換して流すのも避けたいです
一晩考えてPowerShell側でBase64エンコードしてからVBA側でデコードしてみようと考え直しました
失礼しました
調べたところわかりませんでした
Unicodeの文字が欠落するのでSJISに変換して流すのも避けたいです
一晩考えてPowerShell側でBase64エンコードしてからVBA側でデコードしてみようと考え直しました
失礼しました
924デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/26(水) 11:25:02.41ID:DBm/bRJ+r ちなみに、Wscript.Shell.Execに渡せるコマンドラインって255文字までのような制限があるのでしょうか
コンソール側で動いたコマンドラインがExecからだと動かなかったりするので
コンソール側で動いたコマンドラインがExecからだと動かなかったりするので
925デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/08/26(水) 19:01:16.17ID:vVfdbk8D0926デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/08/26(水) 19:03:04.71ID:vVfdbk8D0 powershellか。
ごめん、関係ないわ。
ごめん、関係ないわ。
927デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/26(水) 19:09:15.11ID:DBm/bRJ+r >>926
ありがとうございます。
PowerShell上で動作を確認したワンライナースクリプトをExecで実行したら動かなかったもので、特に根拠があって疑ってる訳じゃないです。
こちらはPS1ファイルを用意して実行することにしました。
ありがとうございます。
PowerShell上で動作を確認したワンライナースクリプトをExecで実行したら動かなかったもので、特に根拠があって疑ってる訳じゃないです。
こちらはPS1ファイルを用意して実行することにしました。
928デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/26(水) 19:15:01.39ID:DBm/bRJ+r ところで、ADODB.Streamに書き込んだテキストをCSVとしてパースしてRecordSetに読み込む方法をどなたかご存知ないでしょうか
一時ファイルを保存すればいいのですがオンメモリでやれたらそちらの方がありがたいです
同じADODBクラスなので方法がありそうだなと思い調べてみたのですが…
一時ファイルを保存すればいいのですがオンメモリでやれたらそちらの方がありがたいです
同じADODBクラスなので方法がありそうだなと思い調べてみたのですが…
929デフォルトの名無しさん (ワッチョイ 118e-WkEz)
2020/08/26(水) 20:35:45.89ID:zCSTsYdn0 >>928
厚かましいスレチはいい加減にしろ
厚かましいスレチはいい加減にしろ
930デフォルトの名無しさん (ワッチョイ ae02-1etN)
2020/08/26(水) 20:40:23.56ID:SKzt3LIS0 ノイズが発生してるけど無視していいよ
知ってて答えたい人が答えると思うし
知ってて答えたい人が答えると思うし
931デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/08/26(水) 22:47:53.03ID:vVfdbk8D0932デフォルトの名無しさん (ワッチョイ 0de6-xiBb)
2020/08/26(水) 22:50:24.69ID:Xm7NIhRp0 できないわけじゃない
1文字づつ解析とか馬鹿らしくてやってられないから一発でできる方法を聞いておる
1文字づつ解析とか馬鹿らしくてやってられないから一発でできる方法を聞いておる
933デフォルトの名無しさん (ワッチョイ 02b5-lmXr)
2020/08/26(水) 22:52:29.85ID:FaIObZsK0 一年他部署に応援行ってて戻ってきたが
その間に転属されてた人に
これがあれば一覧のデータを一気に出力できるからマクロの使い方だけは覚えてね
マクロとかわかる?とにかく使い方おぼえて
と言われた
俺が応援行く前に作って課に展開したマクロやんけ…
その間に転属されてた人に
これがあれば一覧のデータを一気に出力できるからマクロの使い方だけは覚えてね
マクロとかわかる?とにかく使い方おぼえて
と言われた
俺が応援行く前に作って課に展開したマクロやんけ…
934デフォルトの名無しさん (ベーイモ MM16-4W6K)
2020/08/27(木) 10:45:53.98ID:M3gK7ks0M strconvで文字列"試験"をUnicodeに変換すると、変な文字に変換されるんだけど解決策ありますか?
StrConv(StrConv("試験",vbUnicode),vbFromUnicode)
の結果が、"試験"であってほしいんだけど、別のよくわからない文字に変換される
StrConv(StrConv("試験",vbUnicode),vbFromUnicode)
の結果が、"試験"であってほしいんだけど、別のよくわからない文字に変換される
935デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/27(木) 10:56:45.12ID:EdbkG5X3r >>931
情報小出しですみません。
UTF8で標準出力に個人情報含むCSVを吐き出すコンソールアプリがありまして、それを一時ファイルを使用せずにVBAに読み込むのが目的です。
Wscript.Exec.StdOutを使用したところUTF8が文字化けしてしまい、PowerShell上でByte配列化→Base64エンコードして吐き出すことで、VBAでCSVのStringを得るところまではできました。
情報小出しですみません。
UTF8で標準出力に個人情報含むCSVを吐き出すコンソールアプリがありまして、それを一時ファイルを使用せずにVBAに読み込むのが目的です。
Wscript.Exec.StdOutを使用したところUTF8が文字化けしてしまい、PowerShell上でByte配列化→Base64エンコードして吐き出すことで、VBAでCSVのStringを得るところまではできました。
936デフォルトの名無しさん (ワッチョイ 0d7c-JMbW)
2020/08/27(木) 10:58:22.12ID:W5jLLhyA0 >>934
shiftjisで表示してんじゃないの
shiftjisで表示してんじゃないの
937デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/27(木) 11:04:53.94ID:EdbkG5X3r VBAでBase64デコードしたByte配列をADODB.Streamにバイナリ書き込み・UTF8読み込みすることでString変数に収めるところまでは行けました。
ここから、ADODB.Connectionを使用してADODB.Streamの内容をCSVとしてパースしたいのですが、ネットで見られるサンプルコードはファイルを読み込むものばかりです。
試しにADODB.Connection.Open ADODB.Streamとしてみましたが、うまく行きません。
現在ADODBのリファレンスに目を通していて、関係の有りそうなプロパティを見て回っているのですが、方法をご存知の方いらっしゃればご教示いただけるとありがたいです。
ここから、ADODB.Connectionを使用してADODB.Streamの内容をCSVとしてパースしたいのですが、ネットで見られるサンプルコードはファイルを読み込むものばかりです。
試しにADODB.Connection.Open ADODB.Streamとしてみましたが、うまく行きません。
現在ADODBのリファレンスに目を通していて、関係の有りそうなプロパティを見て回っているのですが、方法をご存知の方いらっしゃればご教示いただけるとありがたいです。
938デフォルトの名無しさん (ワッチョイ ae02-1etN)
2020/08/27(木) 11:29:45.37ID:h0aAGvNz0939デフォルトの名無しさん (ワッチョイ 452c-VQ5f)
2020/08/27(木) 11:35:18.54ID:UMnMnU6h0 WSH は、CP932 だけじゃないの?
もうWSHは、Microsoft もサポートしていないのでは?
WSH, VBScript のスレのスレ主、ピッコロ大魔王に聞けば?
漏れは、Ruby スクリプトをダブルクリックで起動したい場合に、WSHを使っているけど、
その際、Ruby側で、CP932・UTF-8 を変換している。
または、NKF というモジュールもある
もうWSHは、Microsoft もサポートしていないのでは?
WSH, VBScript のスレのスレ主、ピッコロ大魔王に聞けば?
漏れは、Ruby スクリプトをダブルクリックで起動したい場合に、WSHを使っているけど、
その際、Ruby側で、CP932・UTF-8 を変換している。
または、NKF というモジュールもある
940デフォルトの名無しさん (ドコグロ MM22-YRmH)
2020/08/27(木) 11:58:06.46ID:tH7sxKPhM >>934
そりゃそうだろ…
Unicode文字列をShift-JISだと思ってUnicodeに変換して、それを更にUnicodeだと思ってShift-JISに変換して何をしたいんだ?
やりたいのは
StrConv(StrConv("試験", vbFromUnicode), vbUnicode)
かな?
そりゃそうだろ…
Unicode文字列をShift-JISだと思ってUnicodeに変換して、それを更にUnicodeだと思ってShift-JISに変換して何をしたいんだ?
やりたいのは
StrConv(StrConv("試験", vbFromUnicode), vbUnicode)
かな?
941デフォルトの名無しさん (ベーイモ MM16-4W6K)
2020/08/27(木) 12:21:37.52ID:M3gK7ks0M AddDllDirectory関数の引数にパスを渡したい
この関数の引数はUnicode文字列をである必要があるから、StrConvでUnicode変換してから渡す
変換がうまく行く文字だけのパスなら、AddDllDirectory関数は成功するが、変換がうまくいかない文字が含まれるパスだと失敗する
この関数の引数はUnicode文字列をである必要があるから、StrConvでUnicode変換してから渡す
変換がうまく行く文字だけのパスなら、AddDllDirectory関数は成功するが、変換がうまくいかない文字が含まれるパスだと失敗する
942デフォルトの名無しさん (ワッチョイ 0d7c-JMbW)
2020/08/27(木) 12:24:57.51ID:W5jLLhyA0 >>941
vbUnicodeのstrconvだけじゃいかんの
vbUnicodeのstrconvだけじゃいかんの
943デフォルトの名無しさん (ベーイモ MM16-4W6K)
2020/08/27(木) 12:31:49.04ID:M3gK7ks0M >>942
それが失敗するから、vbFromUnicodeでもう戻したら案の定変になってた
それが失敗するから、vbFromUnicodeでもう戻したら案の定変になってた
944デフォルトの名無しさん (ワッチョイ ae02-1etN)
2020/08/27(木) 12:49:42.68ID:h0aAGvNz0 変換がうまくいく文字列
変換がうまくいかない文字列
それぞれ教えてよ
似たような流れ多い?
変換がうまくいかない文字列
それぞれ教えてよ
似たような流れ多い?
945デフォルトの名無しさん (ワッチョイ 822f-VQ5f)
2020/08/27(木) 13:18:08.14ID:XBcyB/ra0 なぜうまくいかないというコードを出さないのか
とりあえずEXCEL関係ないしVBA何でもスレ行けや
とりあえずEXCEL関係ないしVBA何でもスレ行けや
946デフォルトの名無しさん (ベーイモ MM16-4W6K)
2020/08/27(木) 13:21:23.95ID:M3gK7ks0M ・成功
日本、解析、実
あ~む、ア~ミ、濁音、半濁音
・失敗
試験、行、め~ん、ム~ン、ゃゅょ、ャュョ
日本、解析、実
あ~む、ア~ミ、濁音、半濁音
・失敗
試験、行、め~ん、ム~ン、ゃゅょ、ャュョ
947デフォルトの名無しさん (ワッチョイ 0d7c-JMbW)
2020/08/27(木) 13:28:24.20ID:W5jLLhyA0 strconvが失敗するって時点で、何かの勘違いがあるとしか思えない
948デフォルトの名無しさん (ワッチョイ ae02-1etN)
2020/08/27(木) 14:18:18.49ID:h0aAGvNz0949デフォルトの名無しさん (ベーイモ MM16-4W6K)
2020/08/27(木) 17:02:04.95ID:DiWyHVVAM AddDllDirectory(StrConv(パス,vbUnicode))ってコールしたときに
パスに特定文字が含まれると失敗、含まれないと成功
文字の例は>>946のとおり
明らかにStrConvの文字コード変換がおかしいと思うんだけど
ちなみに第2引数をvbFromUnicodeにすると、どんな文字列でもAddDllDirectoryは失敗する
StrConvを噛ませずに、パスを渡した場合も必ず失敗する
パスに特定文字が含まれると失敗、含まれないと成功
文字の例は>>946のとおり
明らかにStrConvの文字コード変換がおかしいと思うんだけど
ちなみに第2引数をvbFromUnicodeにすると、どんな文字列でもAddDllDirectoryは失敗する
StrConvを噛ませずに、パスを渡した場合も必ず失敗する
950ななし (ワッチョイ 822f-VQ5f)
2020/08/27(木) 18:30:06.72ID:XBcyB/ra0 AddDllDirectoryの引数をポインタでとって文字列のポインタ渡せば動く気がする
951デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/08/27(木) 19:32:16.28ID:nk+dwtaU0 >>935
やっぱわからん。
「UTF8で標準出力に個人情報含むCSV」って、既にその時点でCSVなんじゃないの?
CSVなのにカンマ区切りじゃなくてCSVとして扱えないとか?(何じゃそりゃ)
UTF8が問題ならschema.ini作って回避できない?
schema.ini使う時点で一時ファイルだわって言われたらそれまでだけど。
やっぱわからん。
「UTF8で標準出力に個人情報含むCSV」って、既にその時点でCSVなんじゃないの?
CSVなのにカンマ区切りじゃなくてCSVとして扱えないとか?(何じゃそりゃ)
UTF8が問題ならschema.ini作って回避できない?
schema.ini使う時点で一時ファイルだわって言われたらそれまでだけど。
952デフォルトの名無しさん (ドコグロ MM55-YRmH)
2020/08/27(木) 21:54:27.65ID:M2V0MDYQM953デフォルトの名無しさん (オッペケ Sr51-cLD7)
2020/08/28(金) 03:17:22.48ID:0Wmy1rK2r >>951
CSVファイルではなく、CSVの文字列になります
これをファイルに保存することなくパースしたかったのですが、方法が見つかりませんでした。
セル内カンマやセル内改行も含むCSVでしたので、自分でパースするのもちょっと大変でした。
MITライセンスのコードを見つけたのでそれを組み込んで処理しようと思います。
ありがとうございました。
CSVファイルではなく、CSVの文字列になります
これをファイルに保存することなくパースしたかったのですが、方法が見つかりませんでした。
セル内カンマやセル内改行も含むCSVでしたので、自分でパースするのもちょっと大変でした。
MITライセンスのコードを見つけたのでそれを組み込んで処理しようと思います。
ありがとうございました。
954デフォルトの名無しさん (ワッチョイ ae02-1etN)
2020/08/28(金) 09:32:14.87ID:WbcjPKym0955デフォルトの名無しさん (ワッチョイ 452c-VQ5f)
2020/08/28(金) 10:58:16.31ID:CzRmvnjE0 Ruby なら標準で、CSV モジュールが付いている。
他にも、JSON, YAML などもパースできる
プログラミングするなら、ちゃんとしたプログラミング言語を使わないと、ダメ!
汎用的な機能を、自作して使うと、バグってばかりで仕事にならない
他にも、JSON, YAML などもパースできる
プログラミングするなら、ちゃんとしたプログラミング言語を使わないと、ダメ!
汎用的な機能を、自作して使うと、バグってばかりで仕事にならない
956デフォルトの名無しさん (ワッチョイ 822f-25h5)
2020/08/28(金) 12:55:46.61ID:dgSTJFNK0 そもそもここ最強のcsvパーサEXCELのVBAすれなんだが
957デフォルトの名無しさん (テテンテンテン MM66-nUCc)
2020/08/28(金) 13:14:57.90ID:RBhGMmXKM 確かにExcelは世界一利用者の多いCSVパーサかも
958デフォルトの名無しさん (ワッチョイ 6e63-VQ5f)
2020/08/28(金) 23:36:31.47ID:KRJ+x4lY0 エクセル2010を使ってます。
ファイル名の先頭に前月の年と月を付けたいと思い
下のような式を書きました。
本日動かすと「202007」と付きます。
しかし先頭の20を削除し2007としたいです。
式をどのようになおしたら良いか自力ではわかりません。
お恥ずかしいですがご教示いただきたく。
newfilename = Format(Year(DateSerial(Year(Date), Month(Date) - 1, Day(Date))), "00") _
& Format(Month(DateSerial(Year(Date), Month(Date) - 1, Day(Date))), "00") _
& currentfilename
ファイル名の先頭に前月の年と月を付けたいと思い
下のような式を書きました。
本日動かすと「202007」と付きます。
しかし先頭の20を削除し2007としたいです。
式をどのようになおしたら良いか自力ではわかりません。
お恥ずかしいですがご教示いただきたく。
newfilename = Format(Year(DateSerial(Year(Date), Month(Date) - 1, Day(Date))), "00") _
& Format(Month(DateSerial(Year(Date), Month(Date) - 1, Day(Date))), "00") _
& currentfilename
959デフォルトの名無しさん (ワッチョイ 0d7c-JMbW)
2020/08/28(金) 23:42:18.02ID:6tfEVBvr0 >>958
ヘルプでformatの書式見た?
ヘルプでformatの書式見た?
960デフォルトの名無しさん (ワッチョイ 06c9-1etN)
2020/08/28(金) 23:47:50.15ID:X3zZxqmk0 newfilename = Format(DateSerial(Year(Now), Month(Now) - 1, 1), "yymm")
961デフォルトの名無しさん (ワッチョイ 52ee-yRqa)
2020/08/29(土) 00:17:46.05ID:58gyTBSb0962デフォルトの名無しさん (ワッチョイ 6e63-VQ5f)
2020/08/29(土) 00:20:59.98ID:M2c3GV/+0963デフォルトの名無しさん (ラクッペペ MM66-i8JQ)
2020/08/29(土) 00:54:05.51ID:OUCG9mQHM 00014500-1
のような、数字以外が入ってる文字列から
前ゼロを取りたいです。
どうすれば良いでしょうか
ゼロは先頭以外にもあるので
replaceで削除するのは無理です。
のような、数字以外が入ってる文字列から
前ゼロを取りたいです。
どうすれば良いでしょうか
ゼロは先頭以外にもあるので
replaceで削除するのは無理です。
964デフォルトの名無しさん (ワッチョイ 118e-WkEz)
2020/08/29(土) 01:26:16.94ID:uG4P+RAn0965デフォルトの名無しさん (ワッチョイ a5ce-xiBb)
2020/08/29(土) 01:42:59.60ID:haGEh7ED0 >>963
020-040 は 20-40 にすればいいの?
020-040 は 20-40 にすればいいの?
966デフォルトの名無しさん (ラクッペペ MM66-i8JQ)
2020/08/29(土) 04:49:38.60ID:OUCG9mQHM967デフォルトの名無しさん (ブーイモ MMf6-xiBb)
2020/08/29(土) 05:11:12.22ID:nRBZReLEM >>966
Sub Macro1()
Dim s1 As String
Dim s2 As String
Dim s3 As String
Dim c As String
Dim i As Integer
s1 = "001100-004400-007700" '入力
s2 = ""
s3 = ""
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "0" <= c And c <= "9" Then
s2 = s2 & c
Else
If s2 <> "" Then
s3 = s3 & s2 * 1 & c
s2 = ""
Else
s3 = s3 & c
End If
End If
Next
If s2 <> "" Then
s3 = s3 & s2 * 1
End If
Debug.Print s3 '出力
End Sub
Sub Macro1()
Dim s1 As String
Dim s2 As String
Dim s3 As String
Dim c As String
Dim i As Integer
s1 = "001100-004400-007700" '入力
s2 = ""
s3 = ""
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "0" <= c And c <= "9" Then
s2 = s2 & c
Else
If s2 <> "" Then
s3 = s3 & s2 * 1 & c
s2 = ""
Else
s3 = s3 & c
End If
End If
Next
If s2 <> "" Then
s3 = s3 & s2 * 1
End If
Debug.Print s3 '出力
End Sub
968デフォルトの名無しさん (ワッチョイ 45da-1etN)
2020/08/29(土) 05:37:03.41ID:IjPanbf80 入力データにピリオドが入ることはないのか?
969デフォルトの名無しさん (ワッチョイ 45da-1etN)
2020/08/29(土) 05:42:52.81ID:IjPanbf80 あ、平気か
970デフォルトの名無しさん (ワッチョイ 6101-u5JS)
2020/08/29(土) 06:40:50.33ID:VAMGDei30 そんな難しいことしなくてもこれでよくないか
Sub test()
Dim testStr As String
Dim rtnStr As String
Dim cnvNm As Long
testStr = "000070-00100-01230"
For i = 1 To Len(testStr) + 1
s = Mid(testStr, i, 1)
'数値か判定
If (IsNumeric(s)) Then
strNum = strNum + s
Else
'数値に変換
cnvNm = Val(strNum)
rtnStr = rtnStr + Trim(str(cnvNm)) + s
strNum = ""
End If
Next
End Sub
Sub test()
Dim testStr As String
Dim rtnStr As String
Dim cnvNm As Long
testStr = "000070-00100-01230"
For i = 1 To Len(testStr) + 1
s = Mid(testStr, i, 1)
'数値か判定
If (IsNumeric(s)) Then
strNum = strNum + s
Else
'数値に変換
cnvNm = Val(strNum)
rtnStr = rtnStr + Trim(str(cnvNm)) + s
strNum = ""
End If
Next
End Sub
971デフォルトの名無しさん (ワッチョイ 6101-u5JS)
2020/08/29(土) 06:44:47.53ID:VAMGDei30 区切り文字が-だけならsplitして終わる気もするけど
何が入ってるかわからんなら1文字ずつみるしかないのかな
何が入ってるかわからんなら1文字ずつみるしかないのかな
972デフォルトの名無しさん (ラクッペペ MM66-i8JQ)
2020/08/29(土) 07:17:10.36ID:OUCG9mQHM 区切りはハイフンだけです
すみません
分けて各々数字扱いすれば良かったですね
書いてみます
すみません
分けて各々数字扱いすれば良かったですね
書いてみます
973デフォルトの名無しさん (ワッチョイ 6101-u5JS)
2020/08/29(土) 08:56:00.81ID:VAMGDei30 デリミタが"-"だけならもっと簡単になるね
Sub test2()
Dim strArray() As String
Dim rtnStr As String
testStr = "000070-00100-01230"
strArray = Split(testStr, "-", , vbTextCompare)
For i = 0 To UBound(strArray)
rtnStr = rtnStr + Trim(str(Val(strArray(i))))
If(i <> UBound(strArray)) Then rtnStr = rtnStr + "-"
Next
End Sub
文字列で連結して返す必要なければsplitして数値変換でおわり
Sub test2()
Dim strArray() As String
Dim rtnStr As String
testStr = "000070-00100-01230"
strArray = Split(testStr, "-", , vbTextCompare)
For i = 0 To UBound(strArray)
rtnStr = rtnStr + Trim(str(Val(strArray(i))))
If(i <> UBound(strArray)) Then rtnStr = rtnStr + "-"
Next
End Sub
文字列で連結して返す必要なければsplitして数値変換でおわり
974デフォルトの名無しさん (ワッチョイ 4549-1etN)
2020/08/29(土) 09:09:11.49ID:dZuEnb/K0 しかし今の子はこの程度も分からないほど論理的思考がないのか、
それともこのスレの住民を試そうとしているのか
それともこのスレの住民を試そうとしているのか
975デフォルトの名無しさん (ワッチョイ 2992-Lsvc)
2020/08/29(土) 09:45:04.26ID:SoqUgBeq0 使う関数提示するくらいで解決できなきゃ放置でいいんじゃね?
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- たまにaカップの女いるけど何を楽しめばいいの?
