X



Excel VBA 質問スレ Part57

レス数が950を超えています。1000を超えると書き込みができなくなります。
0893デフォルトの名無しさん
垢版 |
2018/11/07(水) 11:34:31.05ID:+HyKX3eQ
>>887
基本情報はJavaやCできない文系カスならExcel選べばいいでしょ
ワークシート関数を使いこなせれば十分で、VBAなんか全く要らん
0894875
垢版 |
2018/11/07(水) 20:36:23.84ID:TW51zyDp
マクロ起動でシートの切り変わりで画面がブレるというか、もう少しスムーズに動いて欲しいと感じます。
1行まるごとコピーしているので重いのでしょうか?
0895デフォルトの名無しさん
垢版 |
2018/11/07(水) 22:08:04.86ID:Qojc5OuV
配列に入れるとか?
dim a
a = sheet1.Range("コピーしたい範囲")
sheet2.Range("sheet1と同じ大きさ") = a
シート切り替える必要あんの?
0896デフォルトの名無しさん
垢版 |
2018/11/07(水) 23:56:50.98ID:kdSj6Mns
text.txtの中身
1,"my name is taro"
2,""hello,world""
3,"hello,world"

これをエクセルに変換して期待値は以下としたい
どうしたらいい?

A B
1 my name is taro
2 "hello,world"
3 hello,world
0898デフォルトの名無しさん
垢版 |
2018/11/08(木) 00:00:20.32ID:+1CERcyT
ちなみに拡張子をcsvにすると以下のような変な出力になる。

A B C
1 my name is taro
2 hello world""
3 hello,world
0899デフォルトの名無しさん
垢版 |
2018/11/08(木) 00:02:21.00ID:M68F6j6d
"が一個足りない
csvで"をインポートするには
"を""にして
"でくくらないといけない
0900デフォルトの名無しさん
垢版 |
2018/11/08(木) 00:10:13.02ID:+1CERcyT
手順としては以下でよいか?
1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する
2. 拡張子をcsvにする。

期待値になったのでよしとする。
さらに一歩質問いいですか?
0901デフォルトの名無しさん
垢版 |
2018/11/08(木) 00:19:54.15ID:+1CERcyT
test.txtの中身
1,"my name
is taro"
2,"""hello,world"""
3,"hello,world"

これをエクセルにして期待値として以下としたい

A B
1 (※)
2 "hello,world"
3 hello,world

B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。

が、csvにしたら、ちゃんと期待値になってた。。
んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。
0902デフォルトの名無しさん
垢版 |
2018/11/08(木) 00:35:58.02ID:+1CERcyT
ああ、思い出した

"がつかないケースで、改行が入っている場合

test.txtの中身
1,my name
is taro

エクセルにして期待値として以下としたい

A B
1 (※)

(※)
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。

拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。
0905デフォルトの名無しさん
垢版 |
2018/11/08(木) 11:52:01.74ID:rWQT8E4I
excelの3Dグラフで陰線処理ってできますか?
0908デフォルトの名無しさん
垢版 |
2018/11/08(木) 14:42:53.05ID:rBrrwKGn
>>905
昔方法探したけどできなかった


陰線処理ってエロくないのにちょっとエロく思える単語だよな
0909デフォルトの名無しさん
垢版 |
2018/11/08(木) 15:12:21.75ID:BZZI+ZYR
質問する奴も答える奴も論外で草
質問する奴はそういうスレだからともかく
答える奴が池沼なのはもう少し何とかならないか?
VBAだから無理か
0910デフォルトの名無しさん
垢版 |
2018/11/08(木) 19:19:19.39ID:j6Jh7/pK
なんやプロさん同士で内紛勃発か?w
0911デフォルトの名無しさん
垢版 |
2018/11/08(木) 20:27:13.91ID:hKKyRwQm
>>907
えっ?
絡んで無いと思ってる?
今となっては初心者でも使う手法だと思うんだが。

それとも何か勘違いしてるのは俺か?
0912デフォルトの名無しさん
垢版 |
2018/11/08(木) 20:30:22.05ID:j6Jh7/pK
>>911
おまえだけやプロさんw
0915デフォルトの名無しさん
垢版 |
2018/11/08(木) 22:38:08.36ID:j6Jh7/pK
プロさんにつっこんだらあかんやろ
暗黙のルールぐらい守れやカス
0918デフォルトの名無しさん
垢版 |
2018/11/09(金) 10:17:43.12ID:46H7vVxk
http://sagawa-oki.com/
ここにアクセスしたら不審サイトであると警告が出ました。
PCに詳しい人、これどういうしくみなんですか?
オレのPCは感染したのですか?
0923デフォルトの名無しさん
垢版 |
2018/11/09(金) 22:36:34.07ID:dt2W+h7o
デザイナーが描くような美しいUMLのシェイプを生成するDSLライブラリはありませんか?
PlantUMLのエクセルバージョンのようなものを探してます
0925デフォルトの名無しさん
垢版 |
2018/11/12(月) 08:23:59.02ID:emJ6rSNr
901だが、
さらにおしえてほしい
textに

"please call a "phone"."

と書かれているケースがあり、これをcsvとして読みこませる前に
表記が崩れないように整形を加える。

最終的に1セル内に
please call a "phone".
が入っていればよいです。

上記を実現するための整形の流れとしてどうしたらいい?
整形後は、phoneの間に"をさらに追加する。端っこの"には手を加えない。
"please call a ""phone""."

手作業ではなく、置換で自動化したい
0926デフォルトの名無しさん
垢版 |
2018/11/12(月) 09:22:19.42ID:CGIJA+ER
そういうのはCSVとして読み込むんじゃなくて、自前で構文解析した方が良い。
この程度なら難しく無いでしょ。
0927デフォルトの名無しさん
垢版 |
2018/11/12(月) 09:52:07.52ID:zyHWT4B/
>>925
正規表現置換の使えるエディタで
検索パターン
([^\,\"]+?)\"{1}([^\,\"]+?)
置換後
\1\"\"\"\2
などとすれば一応行ける
0929デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:39:04.12ID:OsYv7RWH
全く無知な自分にご教授下さい。
マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。
ネットに転がってるのを実行してもうまくいかないです。
できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。
0930デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:42:09.58ID:dMWbNPXa
>>929
私には可能ですし特に高度とも思いませんが、貴方にできるかどうかは知りません
少なくとも今目の前の問題を片付けたいだけであれば、諦めて手作業したほうが貴方にとっては早いでしょう
0931デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:54:32.66ID:JxfhNlMu
ネットに転がってるのがあってもできないなら回答しても意味なくね?
ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない
何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか
それくらいは頭を整理して明記しなさい
何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい
0932デフォルトの名無しさん
垢版 |
2018/11/12(月) 22:03:30.98ID:XDhm+jvj
>>930
バカはお口にチャックな
0934デフォルトの名無しさん
垢版 |
2018/11/12(月) 22:18:58.14ID:OsYv7RWH
>>930
なるほど。難しいって事ですね。
>>933
sheet(1)だと中にはsheet(2)にデータがある場合があるんです。
なのでシートのA1が日付の時だけコピーとかしたかったのです。
0936デフォルトの名無しさん
垢版 |
2018/11/13(火) 00:16:47.48ID:6PLLlNb2
>>927
試したけど、grepにひっかからず。
0937デフォルトの名無しさん
垢版 |
2018/11/13(火) 00:18:49.38ID:6PLLlNb2
936ですが、
原因が分かりました。
([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。
半角スペース覗いたらできました。
0938デフォルトの名無しさん
垢版 |
2018/11/13(火) 03:19:44.71ID:gWmuHRek
>>925
1"2"3"4"5

これが君には、"24"、"3" の2つに見えるけど、
普通の人は、"2"、"4" の2つに見える

つまり、"3" がネスト・内側だとは判別できない。
内側を表すには、確実に、外側と区別できる方法が必要

例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、
他に解釈されないような、特別な記号を作るのは難しい
0939927
垢版 |
2018/11/13(火) 07:16:41.37ID:xWZc78Mp
>>937
半角スペースはそちらでの混入かと
0940デフォルトの名無しさん
垢版 |
2018/11/13(火) 21:19:22.76ID:8adn94NA
>>937
Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?
0941デフォルトの名無しさん
垢版 |
2018/11/13(火) 21:22:12.20ID:Vxu3kwrv
>>938
長い、3文字で
0942デフォルトの名無しさん
垢版 |
2018/11/14(水) 00:32:01.09ID:cWkoLxip
こんばんは。質問させてください。

VBAでXMLファイルを作成したいのですが、MSXML2というパーサ(?)を使わないといけないのですか?
Printなどを用いてテキストファイルを作成し、拡張子を.xmlに変更して作成した場合、何か問題があるのでしょうか

XMLファイルはただのテキストファイルだという認識だったのですが、「VBA XML 作成」などと検索すると
ほぼ全てのサイトでMSXML2を用いた方法が紹介されているので混乱しています

よろしくお願い致します
0943デフォルトの名無しさん
垢版 |
2018/11/14(水) 02:04:23.47ID:otO/yyOk
Ruby, Python, JavaScript など、すべての言語・コマンドでも、そう。
HTML, XML, JSON などは、それ用のライブラリを使う

勝手に作ったファイルは、パーサーで解析すると、
間違った形式・フォーマットで作られている、正しい形式ではない、という形式違反になる

正しい形式かどうかを、チェックするツールもある
0944デフォルトの名無しさん
垢版 |
2018/11/14(水) 03:54:10.85ID:KIwP1nqR
以前DOMについて質問させて頂いたものです。
前回はIEを直接開いて扱っていたのですが、
MSXMLという機能でIEを開かずにウェブサイトの情報を取得できると知り、
そちらの方が速そうだし面白そうなので挑戦しています。
そこで色々調べていたのですが、

http://d.hatena.ne.jp/end0tknr/20081115/1226755041

というブログに「MSXML2.DOMDocumentでxml responseをparseすることができます。」とあり、

Dim HttpReq As MSXML2.XMLHTTP
Dim DomDoc As MSXML2.DOMDocument
・・・
DomDoc.loadXML (HttpReq.responseText)

というコードが記述されていますが、ローカルウインドウを見るとXMLHTTP(XMLHTTP60)にresponseXMLというそれらしいプロパティがあります。
直接これをDOMとして扱うのは出来ないのでしょうか。
0945デフォルトの名無しさん
垢版 |
2018/11/14(水) 06:47:08.50ID:F2hyLHDL
>>942
> MSXML2というパーサ(?)を使わないといけないのですか?
別にMSXML2なんて単なるライブラリだから使わなくてもいいよ
ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ
0947デフォルトの名無しさん
垢版 |
2018/11/14(水) 09:35:48.86ID:JBsUV7Ak
>>940
VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、
grepやpowershellみたいに簡潔にならんけどできないことはない

Set Matches = RE.Execute(対象文字列)
For Each Match In Matches
Match.submatch(0) & """""" & match.submatch(1)
Next Match
0948デフォルトの名無しさん
垢版 |
2018/11/14(水) 21:48:32.31ID:X5SCw3Kf
入力規則のリストでリストのいずれかを選択した時に
アクションを起こしたいのですが、方法はあるのでしょうか。
selection changeでは無理でした。
0950デフォルトの名無しさん
垢版 |
2018/11/15(木) 01:04:33.76ID:pL2ZxAKh
>>949
出来ました!
こんなに簡単なことを見落としていたなんて情けない・・・
ありがとうございました。
0953デフォルトの名無しさん
垢版 |
2018/11/15(木) 22:14:10.97ID:Q+Sfzbdk
うちは個人での業務効率化が目的なら黙認されるのが実情だな
部署での正式な業務ツールとしてのマクロは情シス部で仕様として管理される事になるし、個人での作成も配布も禁止されてる
0954デフォルトの名無しさん
垢版 |
2018/11/15(木) 23:27:40.32ID:sS26qanx
ザルにもほどがあるやろw黙認とか一番あかんやつやんけw
0956デフォルトの名無しさん
垢版 |
2018/11/16(金) 04:45:29.00ID:1oL4uemZ
以前は自由だったのが、誰かがミスするたびに禁止になって、今はほとんど何もできなくなった
0958デフォルトの名無しさん
垢版 |
2018/11/16(金) 09:34:05.81ID:iyDekcJ2
それで競争になるのか人事ながら心配
禁止なのはOfficeマクロだけってなら分かるけどさ
0959927
垢版 |
2018/11/16(金) 09:43:44.02ID:fQoG7lNZ
セキュリテイ問題はVBAだけじゃない、今流行りのRPAだってハック悪用されちゃえば、情報流出し放題になる危険はある。
ただ情シスでVBAし放題って、仕事としては辛いなあ、VBAが好きならいいけど
0960デフォルトの名無しさん
垢版 |
2018/11/16(金) 11:24:37.60ID:iyDekcJ2
情報流出のリスクって観点だったら自分の手元の端末でプログラミングする/しないなんてあんまり関係ないよなあ。
セキュリティ担当大臣のリテラシーがあれじゃ何言っても無駄かw
0961デフォルトの名無しさん
垢版 |
2018/11/16(金) 13:07:59.03ID:+iwVt0B0
うちの場合、初期導入済みのソフト・プログラム以外追加インストール禁止、
プログラムの自作禁止、バッチファイル等のスクリプトも自作禁止、
その他電算担当が意図しないものは禁止、
ただしExcel・Wordのマクロはプログラム外とおかしなやりとりさえしなければ自作可、だから、
お目こぼしいただいているといえばそうかも試練。
0962デフォルトの名無しさん
垢版 |
2018/11/16(金) 20:12:20.13ID:HodhQ/sE
>>960
おまえも大差ないけんどねw
0964デフォルトの名無しさん
垢版 |
2018/11/17(土) 16:28:27.01ID:avlCLAGR
禁止いうても、コンペアツールや自動入力ツールの類を自作してこっそりローカルで使ってる人はいるわな。
個人で作成したマクロなんてそう大勢に普及させるもんでもないし。
0965デフォルトの名無しさん
垢版 |
2018/11/17(土) 19:32:22.12ID:afjAxwZo
>>961と同じような環境でパソコン操作ログも全て取られている。けどマクロは作り放題でこの会社どうかしてるなあと思う
管理できる範囲で使うようには心がけてる程度
0966デフォルトの名無しさん
垢版 |
2018/11/17(土) 23:34:31.53ID:kPyd3h/H
すみません初心者です。
次のブログで紹介されているVBAを応用したいのですが、
ご助言をお願いしたく。
https://www.excel-prog.com/entry/outlook-mailitem2

現状は
「キーワードが含まれるファイルが見つからない場合は、ファイル添付しない」
という処理なのですが、
「キーワードが含まれるファイルが見つからない場合は、下書きを作成しない」
という処理に変更できないでしょうか。
0967デフォルトの名無しさん
垢版 |
2018/11/17(土) 23:37:15.00ID:eQWBxdMf
>>966
質問以前の問題やけど言葉を途中できるな、失礼やぞ
「助言をお願いします」と言うもんや
0969デフォルトの名無しさん
垢版 |
2018/11/17(土) 23:48:28.07ID:Q6MHNsVE
Windowsにも色々なコマンドラインツールが標準で付属してくるから
たいていのことは追加ソフトなしでできちゃうんだよな
0970デフォルトの名無しさん
垢版 |
2018/11/18(日) 00:19:50.58ID:RRVp+pUX
なんや、わいは>>966の言葉使いのバカさを諫めただけで質問の内容は否定しとらんで
わかる奴答えてやれや
0971デフォルトの名無しさん
垢版 |
2018/11/18(日) 00:50:35.06ID:WoNYW9mY
>>966
下書きを作成しないというか、要するにメールを書き起こさないようにすればいいわけだよな
ならば、メール作成箇所の前に一行


If SearchFile(フォルダパス,Keyword)="" Then Exit Sub


等と追加して、SearchFile関数の戻り値が空文字列ならメール作成しない処理にすれば良い

ただし、エクセルファイル以外のファイルの存在確認をするならSearchFile関数の修正が必要だし、パス長が255文字を越えるフォルダやファイルを検索する場合はFileSystemObjectを使ったりしなきゃならない
0974デフォルトの名無しさん
垢版 |
2018/11/18(日) 09:39:49.09ID:xm+TdzEk
>>972
Vista以降はコマンドライン版のC#コンパイラが標準で入ってるから、理論上はなんでも作れる
開発環境がないから手間はかかるけど
0976デフォルトの名無しさん
垢版 |
2018/11/18(日) 10:02:01.46ID:1SW2m7ab
流れを無視して急に知識自慢始めちゃうやつ
今の話題はアプリの追加インストールが禁止された環境で何が出来るか
0978デフォルトの名無しさん
垢版 |
2018/11/18(日) 11:13:46.24ID:PoFSPoaK
C#は標準で使えるけどまともなエディタが無い
少なくともVSCodeは必須と言っていい
それと最新の言語バージョンにあげたいからSDKも合わせてインストールしたいね
本家Visual Studioは要らないけどプレインストールだけで戦えるほど簡単でもない
でもVBE+VBAと比べるとC# 5+メモ帳でもまあいっかーこっちのほうがまだマシかもなーという気持ちになることは認める
0984デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:15:47.10ID:31bgLNRt
VSCodeなんかフリーソフトのインストールに許可が要る会社で使うのは不可能だろ
C#の開発環境を整えようとしようものなら数百個のオープンソースライブラリが勝手に入ってくるから、
全部申請出して情シスにレビューさせたら何年かかることか
0986デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:31:26.14ID:PoFSPoaK
>>984
そんな厳しいチェックしてる企業は実際にはないよ
Microsoftが出してるツールならMicrosoftを信用してMicrosoftが採用したオプソの依存関係も信用する
これぐらいのバランス感覚が普通じゃないかな
0987デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:35:06.02ID:zyj02y5w
984じゃないけど、そら世間知らず過ぎだわ
どんだけセキュリティ弱い企業なのよ、うちだってまず無理だわ

だからこんな糞言語使ってるってのに
0988デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:45:51.12ID:PoFSPoaK
いやいや
膨大な数のオプソのセキュリティをレビューできる専門家を何人も囲える企業ばかりじゃないだろ
囲える力があったとしてもそんな貴重な人材をツール申請のレビューアーとして使い潰す企業があったとしたらただのマヌケだわ
0989デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:47:52.42ID:VUJKeY9L
Windowsのアプデで.NETライブラリを更新することにすら神経尖らす企業もいるし、VSCode使用は一般化できんね
0990デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:50:32.45ID:PoFSPoaK
だから殆どの企業は判断基準として発行元はどこなのかということぐらいしかチェックしない
現実的に考えると企業としての信用で判断するしかないんだよ
そしてソースコードではなく信用で判断するなら信用した企業が信用した企業も再帰的に信用したって構わないだろ
0991デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:54:35.35ID:XN88gtNz
前職は某外資Iのグループ会社にいたけど、Globalのルールだと
業務で使用するオープンソースライブラリは許可済みのもの(レビュー済の特定のバージョンに限る)以外は全てレビュー必須だったぞ
厳密に適用するとVSやVSCodeのパッケージマネージャで入ってくるような膨大な数のOSSライブラリは全てレビューが必要
まあ誰も守ってなかったがw
0992デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:55:34.27ID:PoFSPoaK
>>989
それは違う理由で神経尖らせてるだけ
日本企業で.NETと言ったらVB.NETが代名詞になる
VBコミュニティのレベルの低さは底なしだ
彼らがVB.NETで作った業務システム(主にデスクトップアプリ)ってものすごく簡単に壊れるんだよ
OSやフレームワークの更新なんてしたらどうなるか分かったものじゃない
だから慎重になるの
オープンソースのセキュリティについて慎重になるのとはベクトルが違う
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況