[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/22 05:48 / Filesize : 289 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part57



1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part56
mevius.5ch.net/test/read.cgi/tech/1534976724/

603 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 23:23:40.27 ID:lz8xFasJ.net]
>>575
縦線はデリミタではなく、元のレコードにも存在しない文字です。
処理としては、テキストファイルのレコードをそのままセルに出力するだけなのですが…
読み込んだ時点では問題なく、出力したときに縦線に置き換わってる感じですねー

604 名前:デフォルトの名無しさん [2018/10/05(金) 23:39:05.08 ID:JjUc2WZB.net]
>>576
馬鹿は死ねよ

605 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 23:53:59.29 ID:E7eIsq4P.net]
>>577
ファイルからレコードを読み込んだら、イミディエイトウィンドウにも出力しておく
データをセルに書き込んだあと、もう一度セルから読み出して縦線になってたら中断するようなコードを書く
中断したらイミディエイトウィンドウの内容を確認

どこで化けたか、1つずつ追跡するしかないです
意外なところでミスをしていたり、仕様だったり、落とし穴があるもんです

606 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 00:57:54.07 ID:F9JdDpiN.net]
>>577
1.入力するテキストファイルに「ろくでもない見えない文字」が含まれている(たとえば制御文字)
 →普通のテキストエディタでは見えないことが多いのでバイナリエディタで確認する
2.テキストファイルのレコードを読み取りセルに出力する処理のどこかに問題がある
 →特定のレコードで発生するということは、特定の文字列のパターンか、特定のレコード数でのみ発生している可能性もある
こんな月並みなことしか考えつかないな。
個人的には、文字化けだったとしたら全部縦線に置き換わるのはおかしいと思うが(化けた文字が一切見受けられず縦線だけってのが妙に気になる)

607 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 04:51:40.31 ID:tnNc0I+3.net]
とりあえず、どんなコードで読み取って表示してるか出さんと話にならんわ

608 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 07:12:44.67 ID:GeqHzxmy.net]
実はテキストファイルのエンコードがutf8とかだったりして

609 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 07:49:00.01 ID:4qqF7BWz.net]
メインフレームだからEBCDICだろ変換前はEBCDICの変換は面倒い

610 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 07:55:07.00 ID:omtH0luh.net]
EOTとかVTの類の制御文字な気がする

611 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 13:50:07.16 ID:tnNc0I+3.net]
>>563
SHIFT-JISのはずって言ってるし、ホスト側に大抵変換ツールあるだろ


文字コードや制御文字の可能性よりプログラムのバグの方が確率高い気がするなぁ
まあコード出せばどっちの問題かはだいたい判別できるはず
化けるデータのダンプでもいいけどな



612 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 13:12:34.96 ID:DYNz6D7I.net]
色々と意見ありがとうございます。
コードが掲示できなくて申し訳ないですが、
文字コードについてはホストの変換機能があるはずなので、プログラム上のバグとみてデバックしてみます。

613 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 15:35:18.94 ID:RZXmBbwE.net]
>>569
>>571
正解。

でも、頭の使い方を知らない人にとっては理解し難いんだろ

614 名前:う。
頭を使う作業と単純作業を分けるのが自然になってる人はEndIfを先に書く。
他にもEndWithやNextも先に書くな。

Ifまで書いて条件をどこからかコピペするのに気付いた時はIf a Then...EndIfまで書いてからaと差し替えるとか。
あるいはaの差し替えは中身書いた後の時もあるな。
[]
[ここ壊れてます]

615 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 15:38:24.87 ID:RZXmBbwE.net]
>>579
文字化けはイミディエイトでは分からない場合も多い。
こういう時はデバック用にバイナリで出力するものを作っとくべきだね。

616 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 15:38:37.38 ID:yvtwWR1t.net]
そしてaの差し替えを忘れると

617 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 16:40:59.78 ID:/7FmU20a.net]
VBA「済まんのう、ワシのインテリセンスが貧弱なばっかりに・・・」

618 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 17:11:47.87 ID:RZXmBbwE.net]
>>589
二ワトリか?

619 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 19:18:32.78 ID:b8EzOufK.net]
>>587
閉じタグみたいな単純作業を人間がやるのは馬鹿らしいと気付いて別の言語に移行するのが大正解

620 名前:デフォルトの名無しさん [2018/10/07(日) 21:50:24.98 ID:mIq+f5AO.net]
で、pythonみたいな欠陥言語では空文という概念すらない
インチキな制御文で空文を回避する必要がある

つまり、cが言語として一番単純で簡単

621 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 10:32:35.37 ID:nJmWXjgB.net]
しかし少し待って欲しい
C言語が扱うのはDelegateじゃなくて
ポインタだから不慣れな人が使うのは結構危険



622 名前:デフォルトの名無しさん [2018/10/08(月) 10:58:07.65 ID:Z4ZqXDLl.net]
コードの作成ができる方がいらっしゃいましたら、助けていただきたいです。

https:〜〜/〜〜〜/〜〜.pdf
で終わるURLが1000件以上あり、業務でそのすべてを印刷しなければならないのですが、
1つ1つIEで印刷していくのが大変面倒で、VBAで一気に印刷することができないか
調べたのですが、.pdfで終わるファイルをwebから自動で印刷するのは不可能なようでした。

そこで、その1000件以上あるpdfファイルを一気にローカルに保存できないかと考えております。

具体的には、
A列にひたすらURLを貼り、マクロを起動するとローカルの任意のファイルにPDFが保存されていくようなVBAが組めないかと考えております。
(一気に印刷することができれば、尚よいのですが)

どなたかコードを組んでいただけないでしょうか。

お手数ですが、よろしくお願い致します。

623 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 11:21:42.19 ID:H/mp1NsO.net]
curl, wget で、ファイルをダウンロードできる

624 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 12:38:16.57 ID:TfWfyeTE.net]
ダウンロードやら印刷やらはPowershellならそれぞれ1コマンドで出来るんだけどね
VBAだとそこそこ面倒な気がする

625 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 12:47:36.35 ID:rY44Et0R.net]
両面2upで印刷とかだとpowershellでも大変じゃないの

626 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 12:59:10.13 ID:fNYJDKkK.net]
>>595
難しいだのなんだの言われてたけど、テキトーにやってたら簡単にできて拍子抜け
fast-uploader.com/start/7094526398997/

Book1.zip

Book1.xlsm
にリネームしてくれ

A列はファイル名
B列はURL
C列はokかNGか。アテになるかどうかはシランので、落とした後のファイル数はなどは確認したほうが良い

コードの編集は適当にやってくれ
今はテスト用に3つだけにしている
あと保存するファイル名は被らないようにかなり適当に作っている。適当に変えてくれ

で、pdf印刷はこの辺に任せるといいと思う
https://dekiru.net/article/1745/

あと、参考にしたサイト
https://tonari-it.com/excel-vba-windowsapi-urldownloadtofile/

特に何の関係もない、無害なサンプ

627 名前:却dfが置いてあったサイト
http://www.shikisensha.com/pdfs.html
[]
[ここ壊れてます]

628 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:00:47.95 ID:wluWAmXV.net]
>>595
powershellスレで聞いた方がいいよ
一括ダウンロードも印刷もけっこう簡単にできる
VBAでもできるけどちょっと面倒だから

629 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:16:18.75 ID:fNYJDKkK.net]
そこまで簡単にできるならもうここで書いてしまって良いんじゃない?

630 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:21:06.52 ID:SdoZVitL.net]
クレクレに割く労力など微塵もない

631 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:21:21.13 ID:XarCorGP.net]
>>595
そんなのjdownloader2とか
webブラウザのアドオン使えよw



632 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:36:20.93 ID:fNYJDKkK.net]
>>602
あれ、そうか
PowerShellあんまり知らないから見てみたかった

633 名前:デフォルトの名無しさん [2018/10/08(月) 15:25:31.11 ID:41uO404m.net]
>>595
死ねよ

634 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:55:52.70 ID:fNYJDKkK.net]
>>603
拡張機能探すのあんまり得意じゃないわ
結局作ったほうが早い

>>605
ざっこw

635 名前:デフォルトの名無しさん [2018/10/08(月) 18:30:52.01 ID:lvy06Ht8.net]
>>599
URLDownloadToFile というAPIがあることをいま知った。
これまで都度 MSXML2.XMLHTTP を作って .Open "GET" していた。
API一発ならその方がスマートだしプログラムをそれベースに書き換えようかと思ったけど、
IDとパスワードを渡さなきゃならない場合は使えないのかな?

636 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 01:51:39.58 ID:FzGViRAL.net]
N列に時刻データが入っている
但し一部の行はブランク

時刻データは"00:10:00"のように時・分・秒が指定されている
表上は"00:10"つまり「時・分」のみを表示

この時刻データの分の1桁目が9の時のみ1分繰り上げて0にしたい
つまり
"00:19:00"→"00:20:00"
"00:59:00"→"01:00:00"
になるようにしたい

セルは複数セルを不連続で選択し、ブランクはパスして
分の1桁が「9」の場合のみ1分繰り上げするにはどうすれば良いでしょうか?

637 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 03:48:33.30 ID:GjEV7PXm.net]
>>608
秒はどうするの?19分30秒だったら20分00秒にするってこと?

とりま、基本的な処理は分を10で割った余りを求めて、9だったら1を足す
それを選択された全セルに対して繰り返す

638 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 07:12:30.74 ID:/OeVfiJl.net]
>>608
O1=N1+IF(MOD(MINUTE(N1),10)=9,TIME(0,1,0),0)

639 名前:デフォルトの名無しさん [2018/10/09(火) 08:27:33.61 ID:0K1bBeTL.net]
>>567-588
Ruby で、そのテキストの該当部分を表示して、確かめる。
他の言語でもよい

>>608
いったん時刻に変換して、1分足してから、また元の形式へ戻す。
つまり、表示形式 → 時刻 → 表示形式

640 名前:609 mailto:sage [2018/10/09(火) 10:04:43.66 ID:0K1bBeTL.net]
>>567-588
制御文字の可能性があるから、文字列をバイナリで見る

文字コードや、UTF-8 ならBOM の有無

セルに入力した時に、特別な意味を持つ文字が入っているとか?
シングル・ダブルクォーテーションなど?

641 名前:デフォルトの名無しさん [2018/10/09(火) 16:25:52.94 ID:YqupZDTJ.net]
会社で社内Webのform類のsubmitボタンを押して出てくるデータベースのデータが抽出されるシステムがあります。
(まあ、このようなシステムはどこにもあると思いますが。)
これ、どうにかして大元のデータベースのデータを丸ごとExcelにインポートする方法ってないですか?
Webのソースを見れば、データベースのサーバのアドレスが書いてあって、それをVBAで取り込む、みたいなのをイメージしているのですが
技術的には可能ですよね?



642 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 16:53:10.93 ID:i ]
[ここ壊れてます]

643 名前:uxGmBKG.net mailto: 技術的には可能だがお前には不可能
イメージが見当違いだ
[]
[ここ壊れてます]

644 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 16:58:57.67 ID:ZX9nrIhI.net]
WEBサーバ自体をハックできるなら。
大抵PHPか.Net実装でソースからは見えない

645 名前:デフォルトの名無しさん [2018/10/09(火) 16:59:23.34 ID:YqupZDTJ.net]
あまりわたしを怒らせないほうがいいぞ
わたしは怒ったら怖いんだぞ

646 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:21:21.07 ID:ZX9nrIhI.net]
コンプライアンス違反で懲戒解雇&賠償請求訴訟起こされたいのなら、止める義理はない

647 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:57:17.02 ID:3Eshr90N.net]
>>613
会社のシステムなら上司に相談しろよ
社内規定に違反すると最悪解雇もあるからな

648 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:10:23.08 ID:MhhKJFZu.net]
>>613
怒らせたくはないけどまともなシステムならクライアントから見えるところにデービーのアドレスは書かれてないよ

649 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:17:11.24 ID:MhhKJFZu.net]
クライアント↔Webサーバ↔DBサーバ
ブラウザがやり取りするのはWebサーバ
その先にはアクセス出来ないのが普通

650 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:18:22.93 ID:alG4HLy2.net]
普通に上司経由でシステムの所管部署に相談してAPIを共有してもらった方が安全だろ
自作コードでサーバーを直接叩くのはいろんな意味で危険

651 名前:デフォルトの名無しさん [2018/10/09(火) 19:14:35.52 ID:AeEBE3gj.net]
焦っとるなプロさんwおまえらプロさんのコードも十分すぎる程危険なんやがw



652 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 19:46:02.37 ID:fy0WNSeQ.net]
>>613
出発点から「自分で勝手に何かする」というのが間違い。
他の人も言うとおり、まずは自社で管理してるDBなら管理部署に、ベンダのシステムであればそのベンダに、やりたいことを伝えて対応してもらう。
対応してもらうのが無理なら、管理部署やベンダにAPI等を利用してツールを作成して良いか確認を取る。
もしOKなら、API等を利用してツールを自作する。完成したら必ず管理部署やベンタにツールを見てもらう。

勝手にベンダのAPIを利用してSQL発行ツール自作してクビ寸前まで行ったことがある人を知ってる。
大幅減俸で落ち着いたらしいけど今はもういないから実際のところどうだったのかは知らんが。

653 名前:606 mailto:sage [2018/10/09(火) 20:01:04.99 ID:FzGViRAL.net]
>>609-611
ども!

ワークシート上なら"00:59:00"+"00:01:00"→"01:00:00"みたいに単純に繰り上げが出来るので
マクロで同じような計算が出来ないかと考えたんだけど(>>611さんのコメがそうかな?)
具体的な手順が思い当たらなかったので、原始的なやり方で作ってみました

strTime = Format(cell.Value, "hh:nn:ss")でセルの時刻を文字列に読み込み
時(strH)・分(strM)・秒(strS)を切り分け、分の1桁目が9の時だけ

intH = val(strH)、intM=val(strM)で数値化した値から
sumM = ntH*60 + intM + 1 
intH = int(sumM/60)、intM = sumM - intH *60 を計算し

これを時刻に直してセルに戻す、という手順で出来ました

654 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:10:44.20 ID:KUCIqBg4.net]
先週文字化けの件で質問をした者です。
あれから例のマクロをデバッグし、無事原因がわかりました。
文字コード云々ではなく、単純なロジックミスという落ちでした…。
お騒がせをしましたが、ご助言くださった方々ありがとうございました。

655 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:29:16.80 ID:b4f5o7ms.net]
オートフィルターをかけた状態の表を配列に取り込むには、Copy Pasteで一旦どこかに貼るしかないのかな?

656 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:52:35.13 ID:ZX9nrIhI.net]
>>625
クローズ報告ありがとさん、

657 名前:燻りそうだったのでクローズ連絡は助かる []
[ここ壊れてます]

658 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 22:00:23.20 ID:fy0WNSeQ.net]
>>625
やっぱそっちだったか。解決したようで良かったわ。

659 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 22:45:02.58 ID:AYSUcKLB.net]
>>626
ヒントはF5、表示セルのみ

660 名前:デフォルトの名無しさん [2018/10/09(火) 23:06:53.75 ID:YqupZDTJ.net]
>>618
>>623
信じられない。
なぜツール作っただけで解雇とか減給とか?
チームは違うけどチームの作業効率をはるかに高めることをするという非常にほめられることをするというのに。
別に会社になんの不利益も与えない。

661 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 23:19:05.15 ID:/OeVfiJl.net]
>>630
普通にある
>非常にほめられることをする
ほめられない

ってか考えが浅すぎるから本当に気をつけろ



662 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 23:44:23.50 ID:fy0WNSeQ.net]
>>630
問題は色々あるが、まずは許諾を得ずに勝手に構造を解析するということ。つまりリバースエンジニアリング。
次にシステム上想定していない勝手なSQLをこれまたシステム上想定していない勝手な方向から流すということ。

「会社のために」の枕詞を取り払えばこういうことになる。その枕詞が付いていたとしてもリスク管理の観点から非常に危ない。
特に、決められた手続き決められたデータが抽出できる環境がありながら全データ抽出したいとか、クラッキング以外の何ものでもない。
自分で勝手に作ったSQL発行ツールが原因でサーバに異常な負荷をかけてしまったら責任が取れるのか?
そのツールが悪意のある第三者に見られあるいは持ち出され、悪用されたら責任を取れるのか?

自分の会社に対する誠意を完全に証明できる自信があるとか、完全無欠に誰にもどこにも迷惑をかけないツールを作成できる自信があるとかなら、なおのこと手順を踏むべきだ。
黙ってやろうとすること自体が会社を納得させる自信のなさと会社への不誠実さの顕れだ。

663 名前:デフォルトの名無しさん [2018/10/09(火) 23:59:21.37 ID:XhVkj+aM.net]
大げさなやつらだな
普通に「ODBCでアクセスしたいからID発行してプリーズ」って管理部署に頼め

664 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 02:27:09.31 ID:XHKsn4Nc.net]
お前らビビりすぎだろ
外からDBアクセスできるなら
トランケートされても文句言えねえわ

665 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 02:27:50.97 ID:XHKsn4Nc.net]
真面目か

666 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 04:01:34.04 ID:Vii71/zC.net]
作成依頼です。

エクセルのA1セルに入力されている住所をgoogleearthで開きたいのです。
マクロでgoogleearthを立ち上げるとこまではshell関数で作ったのですが,そ
の先をどうすればよいのかさっぱりわかりません。
googleearth左上の検索のところにA1セルの住所を自動で入力して検索ボタンを押す,
というマクロを教えて頂けないでしょうか。

よろしくお願いします。

667 名前:デフォルトの名無しさん [2018/10/10(水) 04:15:39.03 ID:2oZCcDsE.net]
お前らが甘やかすからこういう全部作ってくれ馬鹿が調子に乗る

668 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 04:32:03.45 ID:crh5hRT2.net]
>>636
しね
よろしくお願いします

669 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 04:43:16.64 ID:qywSzTWT.net]
それは、ウェブページ・ブラウザの自動操作だろ?

iMacros, Selenium IDE とか。
それか、Ruby で、Selenium Webdriver を使う

670 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:20:01.37 ID:R8Iewqe6.net]
CREATE SESSION しかないに決まってるだろ

671 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:54:53.57 ID:8C9bqvqY.net]
>>636
hyperelink関数で良いんじゃないの
=hyperlink("https://earth.google.com/web/search/"&"皇居")
とか



672 名前:628 [2018/10/10(水) 12:15:23.99 ID:FaIKeQC1.net]
>>632
大げさな。

ちなみにそのデータは

673 名前:レ客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
[]
[ここ壊れてます]

674 名前:デフォルトの名無しさん [2018/10/10(水) 12:17:07.30 ID:FaIKeQC1.net]
そのデータベースから一挙に全データをexportできれば
あとはvlookupを使ってすべての作業が一瞬で終わり。1分。
それができないから、上司からしめきりが1か月後みたいに設定されてる。

675 名前:デフォルトの名無しさん [2018/10/10(水) 12:18:25.21 ID:FaIKeQC1.net]
【誤】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。

【正】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペする必要はない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。

676 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:23:41.33 ID:ic51pubx.net]
>>644
>>633
SELECT権限すらつけてくれないってなら殴れ

677 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:25:54.86 ID:XztHvnca.net]
システムを作る側の目線でいうと、UIベースで自動化しようとするのは迷惑だから頼むからやめろ
普通に権限を貰うか、システム改善を依頼してくれ

678 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:36:26.92 ID:qywSzTWT.net]
外部の部署が、DB に直接アクセスすることは、普通は認められない

他の部署の人が頼みにきて、裏口でやっている話はよくきくけど、危険な行為。
ルール自体を変えないで、ルール違反の形で、黙って下の者がよくやるけど、
上の者が把握・管理していないから、会社として成立していない

ドイツ車で、大問題になった。
下の者が、勝手にプログラムを書き換えていた

679 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:56:48.86 ID:Zvsf2lMk.net]
>>642
大げさでも何でもない。
Webから取ってくるのだって関係部署に連絡して承認をうけるのが普通。
ましてDBに直接繋げたいなら上司に相談しとけ。

680 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 13:12:18.23 ID:ic51pubx.net]
>>647
外部の部署と言うより「データは社内の共有データでDBはシステム部が所管している」
ように読めるけどね。
昨今のデータ活用・データ民主化の流れでエンドユーザにSELECTさせるのは当然になってる。
もちろん無断でやるなんてのは論外だが。

681 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 14:45:22.50 ID:47KSV23N.net]
>>629
どういう意味?
可視セルをそのまま配列に放り込んでも連続した部分しか取り込めない仕様だけど



682 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 16:35:31.34 ID:Umu+TTue.net]
今回ばかりはRubyさんの言う事が正しい気がする

今の人件費はこれだけです
RPAでやったらこうなります
DBへのアクセスを許可してもらえればこうなります
だからこうして欲しい、と、数字を出して説得するのが
いんじゃないかな

683 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 18:29:59.16 ID:hH0ybitP.net]
>>650
いや、改めて試したけどできるぞ?

684 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:13:54.40 ID:YG2jN7++.net]
>>651
アマチュアならこういう意識が薄くてもしょうがない

685 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:36:58.16 ID:8C9bqvqY.net]
>645
SELECTは危険ではないけど重くなるんだよ
特に初心者が書いたwhereもしないSELECTとか重くてかなわん
だから素直に頼んでくれ、ほんと

>>651
それでいいよ

全件SELECTしてからaccessでフィルタする奴

686 名前:は本気で死ねとしか思わん []
[ここ壊れてます]

687 名前:621 mailto:sage [2018/10/10(水) 22:05:51.66 ID:KAlixXjp.net]
>>642-644
目的:Web系在庫管理システムのデータ抽出の際の項目選択の手間を省きたい
手段:以下の作業を自動実行する
 1.在庫管理データベースからすべての情報をその都度抽出する
 2.全データから必要な情報のみを抽出し、加工(計算など)を行う

この、小さな目的達成のために払うリスクがでかすぎることを解っていないところとか、
俺の知るクビになりかけた人物と同じこと言ってて流石に寒気がした。
もっともその人が作ったのはエンドユーザーが抽出条件をある程度自由にカスタマイズ・保存できる文字どおりのEUCツールで、
ハイコストなSELECTが発行されまくった結果システム全体のパフォーマンスが微妙に落ちて、それでベンダのSEが気づいたんだが。

はじめから管理部署なりベンダなりに相談しておけば:
A.システム内に解決する手段が既にあるかもしれない(標準のEUC機能に抽出条件を保存できたり)
B.システムで対応可能だったかもしれない(SEが管理する簡易的な抽出機能への追加など)
C.システムで対応できずともベターな解決手段を探れたかもしれない(APIへの接続許可など)

>>654も言っているがDBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。

688 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 22:12:58.00 ID:R8Iewqe6.net]
ユーザーに触らせたくないDBとEUC用DBの違いって何なんですかね?

689 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 22:14:25.01 ID:8C9bqvqY.net]
>DBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
そうだね、業務用途のサーバーと回線は従量制と知らない人が多すぎる
逆に従量制じゃなければ全員に迷惑がかかるって事になり、それまた迷惑
開発の端の端にいるなら、回線ってとんでもない金額がかかってるって知っておいてほしい

自分のPC内でぐるぐる回すだけならまぁわからんでもないけどな

690 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 09:09:34.84 ID:3Bdkvxy9.net]
サーバー内で、ちゃんと絞り込みが出来ているかとか、
実行計画を見て、確認したり

高度情報処理資格のDB スペシャリストを取ったり、ミックの本を読んだり、
勉強した人しか、DB を触っちゃいけない

691 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 10:35:12.02 ID:OPRsoT4p.net]
DBスペシャリスト持ってないの丸わかりだな
DBスペシャリストで扱うのはデータモデリングやアプリケーション設計が中心で、
クエリチューニングのような運用寄りの出題はほとんどない



692 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 10:37:57.07 ID:ljJfys9R.net]
そんなハードル高くしてどうすんだよ
ビジネスで競争に負けてたらシステムの予算だって出なくなるんだぞ

693 名前:デフォルトの名無しさん [2018/10/11(木) 12:17:10.50 ID:z21fIq1H.net]
なぜか質問そっちのけでレベルの低いマウント取り合いになるプロさん達w

694 名前:デフォルトの名無しさん [2018/10/11(木) 12:37:03.82 ID:r2SLIRPN.net]
おれも素人だが、今回の件はいくらなんでもアホすぎる質問をした素人VBAerが悪いと思う

695 名前:656 mailto:sage [2018/10/11(木) 12:55:04.68 ID:3Bdkvxy9.net]
DB スペシャリストの過去問題をやればよい

上司から、レコードの絞り込みが甘いと注意されました。
表設計をどう直しますか?

もちろん、出題されている

696 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 14:56:15.23 ID:O4qg21v8.net]
ExcelVBAのスレでいきなりDBスペシャリストの話題持ち出すのはどこのアホウなんだよ

697 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 16:13:58.69 ID:L8oPmsqv.net]
いきなりってわけじゃないけどな
それなりの流れがある

698 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 16:14:37.48 ID:L8oPmsqv.net]
VBAスペシャリストの皆

699 名前:さん []
[ここ壊れてます]

700 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 19:13:53.56 ID:ZOLcqtf+.net]
まぁ使用する範囲で同じ内容のテーブル作っておいて
マスターの方のテーブルの登録や更新、削除をトリガーとして
別途作った同じ内容のテーブルに反映させた側のテーブルを見に行くようにしたりする
システムには当たったことがあるけどね。

何にせよ余計なことはやらせない方が無難ではあるよ。

701 名前:デフォルトの名無しさん [2018/10/11(木) 20:25:53.87 ID:xmZyhWmI.net]
>>654
Accessのウィザードで作ったリンクテーブルやインポート使ってるんだけど
これって該当します?
sharePointのリスト取り込むときってどうするのがいいんだろう?



702 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:46:07.05 ID:Y5yLaTkx.net]
>>668
勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい

重さで言うなら、SQL直接書くかせめて確認するのが一番確実
とにかく最初にwhereでフィルタするんだ
そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる
リンクしてるだけだと特に意味はないわ
ってかこの辺はDB板行ったほうがいいだろう

703 名前:デフォルトの名無しさん [2018/10/11(木) 20:54:31.19 ID:Pm0hH2qh.net]
SELECT TOP 100 * FROM TableA

704 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 17:32:15.43 ID:PXpuxPjv.net]
許可もらわんと管理部門から逆にIPたどられて社内のPCから不正なアクセスが頻繁にあるって言われなければいいね

705 名前:デフォルトの名無しさん [2018/10/13(土) 18:47:47.50 ID:L3Dj2/gz.net]
コレがエクセルのシートしか使えないヤツラの知能の限界
しょうがない
どこにインデックスはってるか見もせずに
where句で巨大なテーブルをいきなり検索したりするからな
そしてフルスキャンになる

そしてcountで件数を確認もせずにいきなり大量抽出する

知能が低いヤツラにSQLさわらせるとこうなる
もうね予見できるワケ

706 名前:デフォルトの名無しさん [2018/10/13(土) 18:51:04.15 ID:L3Dj2/gz.net]
低学歴知恵遅れの知能が低いヤツにSQLはキチガイに刃物
低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物

銃刀法違反なみの重罪

コレは定説

707 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 18:53:51.58 ID:T9MlimPF.net]
キチガイ登場
こわい

708 名前:デフォルトの名無しさん [2018/10/13(土) 19:04:43.08 ID:L3Dj2/gz.net]
そもそもdbにはいっぱい個人情報が一杯つまってる
こっちのほうが重大な問題だからな

表ごとにセキュリティレベルがあるのも当然
そういった制限すらないのはヤバイ会社

だれがいつそういった情報を取得スしたか
どんな業務で誰の承認で取得したか
ちゃんと履歴が必要になる

709 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:11:38.49 ID:iFQl0LJl.net]
いっぱい一杯

710 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:25:56.64 ID:/vvsi1/9.net]
Excel VBAの話をしてよ

711 名前:デフォルトの名無しさん [2018/10/14(日) 00:37:19.40 ID:Q3eQCyRU.net]
excel vbaで語ることなんかあんの
excel vbaで語るなら、それを併用して得られるメリットぐらいしかない

excel vbaでなんかいいことあった?



712 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 10:50:03.22 ID:xKzvoEYL.net]
>>678
おまえはなんの話をしているんだ?スレ名読めんのか?

713 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 11:16:34.21 ID:RzJcTIeH.net]
>>678
その質問はご法度
無視されるか話をそらされるだけ
>>679のようにね

714 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 15:42:57.90 ID:jfwl8Yip.net]
>>678
彼女ができました

715 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:16:00.15 ID:E6pr56BO.net]
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてくださ

716 名前:「。拡散も含め、お願い致します。 []
[ここ壊れてます]

717 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 03:46:59.80 ID:SShwrEAs.net]
激しくスレチ

718 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 15:17:46.48 ID:ZlBiMRvR.net]
excel vbaの話題がない、最近使ってないし

719 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:43:27.94 ID:VGXZfwAw.net]
別に無いならないでそれでよかろう。話題がないとお前は困るのか?

720 名前:682 [2018/10/16(火) 20:24:31.25 ID:wwtQC7N8.net]
>>685
困るから言っておるのだ

721 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:33:30.35 ID:7RIuHdb8.net]
yahoo知恵遅れなら毎日うんざりするような質問だらけだよ



722 名前:デフォルトの名無しさん [2018/10/16(火) 20:35:04.21 ID:H029zngb.net]
ヤホーよりプロさんの方がバカっぽいけどねw

723 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:58:20.65 ID:7RIuHdb8.net]
知恵遅れでの"VBA" "VBスクリプト" "マクロ"いずれかを含む質問数、過去24時間に76投稿
回答者もうんざりしてる

724 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 22:01:20.92 ID:QoFGLA2x.net]
エクセルの鉄則:達人であることは隠せ
https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574
「次々と人がやって来ては『エクセル...

725 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 23:49:27.99 ID:LqxRfbs7.net]
ここが面白く無いせいでPowerShellerがExcelスレまで荒らしに来てて困る。

726 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:34:37.11 ID:i+REgo0L.net]
カンマ区切りのcsvをデータインポートで読み込むと一部がズレます
csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます
この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか

727 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:46:32.94 ID:tHw/Qu/E.net]
そら貼り付けとデータインポートは別の機能だからだよ
Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる
似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの
このスレにいるような連中のせいでな

728 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:48:36.05 ID:9GZlDgUm.net]
>>692
データのせい

729 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:59:38.33 ID:uJo2tnoC.net]
>>694が正しい。 >>693は戯言なので無視していい。
メモ帳貼り付け保存後、と前とをバイナリー比較すれば理由は見えてくるはず

730 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:42:17.32 ID:i+REgo0L.net]
ありがとうございます
bomとかそういう感じですかね
また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした
データインポートでutfを選択したら無事開けました

731 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 17:06:43.54 ID:S++6iW66.net]
>>696
一部だけUTF8?
混在してたってこと?



732 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:02:13.22 ID:5pOkIjLu.net]
半角と全角の混在で全角だけUTF-8とか

733 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:07:18.62 ID:7Q2iPe/Z.net]
ダブルクォーテーションとカンマのくくりが上手く行ってないとか

734 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:38:14.44 ID:uJo2tnoC.net]
>>698
あたりまえ、UTFもShiftJISも英数は同じ

735 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:31:27.45 ID:SJQ0JWQn.net]
英数だけが半角とは限らんがな
ココニカケルカナ

736 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:31:04.71 ID:ks5As5t+.net]
セル内改行でひっかかってるのかも
改行コードは何種類

737 名前:もあるし、読み込み方法によって正常に認識してくれないケースがあるから []
[ここ壊れてます]

738 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:46:30.50 ID:B1wZDxhL.net]
>>702
メモ帳経由だとうまくいくってのと整合しない

739 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:30:43.91 ID:vpgDyIt0.net]
>>696 で解決報告あるのに何をいつまで考えてるのw

740 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:04:18.15 ID:ekkKNanr.net]
自分でもしっかりと把握してないので書くつもり無かったんですが一応解決の詳細書きますね
まずダブルクォーテーションやカンマはないです
あと自分の理解と説明が足りてませんでした
一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです
utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン

741 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:33:45.83 ID:vpgDyIt0.net]
いやいやおつかれさま



742 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:12:45.91 ID:wIeiUTi/.net]
WorkSheet_Changeでセルの内容に変化があったときだけ文字色を赤にする処理を行おうとしています
対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため
対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?

743 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:38:51.56 ID:fhgndB5P.net]
>>707
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = -16776961
End Sub

これで良いのでは???

744 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:45:12.89 ID:wIeiUTi/.net]
書き方が不正確でした
「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です

745 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:54:42.06 ID:vpgDyIt0.net]
赤くしなくても共有と変更履歴で代用可能だろ

746 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:58:11.74 ID:fhgndB5P.net]
>>709
あぁそういう事か、すまん
今「excel change before」で調べただけだけど、そうするしかなさそう
selectionchangeでselectionの内容を保存しておくみたいだねぇ
よー考えるわ

747 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:58:42.58 ID:fhgndB5P.net]
>>710
そうだねぇ
なんか赤にする以外の方法の方が良い気がする

748 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 14:49:27.87 ID:2evJVEIF.net]
くそう、↑のやり方以外が思いつかない。
セルにtagプロパティでもありゃ前値保持できるのに。。

赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)

749 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 21:19:57.26 ID:acLDgyPd.net]
>>713
Excelをフロントエンドにしたデータベース管理です
一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています
作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです

750 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 21:42:58.96 ID:yGBPiuMh.net]
編集後・更新
この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう

751 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 23:04:57.15 ID:MRFHlf9T.net]
Vue.js などのウォッチャ・データバインド・リアクティブシステムだろ

データ更新前後のフックは、無いのか?



752 名前:デフォルトの名無しさん [2018/10/20(土) 02:32:55.91 ID:ZiSB9nEL.net]
Ifとforだけでとりあえず簡単な処理くらいはさせられるようになったんだけど、次は何を学べば順当にステップアップできる?
イベントプロシージャもダブルクリックだけは理解した
Constで柔軟なコード書くのも学んだ
配列はいまいち便利な使い道がわからない

753 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 06:58:16.21 ID:JSzrZOTM.net]
>>717
処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。
ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。
特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、
(y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。
あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。

754 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 07:07:20.99 ID:JSzrZOTM.net]
>>717
配列使った方がいい理由を補足すると、
配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。
だが、配列変数を使えば1行で定義できる。

セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。
(それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)

755 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 07:49:40.17 ID:/P2yZ5ci.net]
>>717
次は違う言語を学ぶといいよ
pythonとかがオススメ

756 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 08:15:19.11 ID:A4xnc2/3.net]
>>717
シートはセルの二次元配列
ブックはシートの一次元配列
合わせて三次元の配列

元々エクセル自体が配列の塊なので、
vba上だけで配列を持たなくてもなんとかできるようにはなっている

他のプログラムだと配列なしなんてありえないんだけどね

vbaで配列を扱う大きなメリットとしては、爆速にできる事

で、そこまで来たら何を覚えるかだけど
・objectの扱い。set foo = sheets("name")
・fso(filesystemobject)

この辺かね〜

他言語やるなら俺もpythonがオススメ

757 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 09:34:05.81 ID:46UfR13B.net]
>>721
>合わせて三次元の配列

「三次元配列」と書かないところが正確でイイ!

758 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 11:18:59.41 ID:+OPbDxrw.net]
あ・・・Application.Workbooks(3).Worksheets(1).Cells(1, 1).Characters(2, 2).Font.Color = vbRed

759 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 11:51:10.77 ID:ZiSB9nEL.net]
参考になります!説明がとても分かりやすいですね 尊敬します
配列を学ぶことでの処理の高速化も理解できました
setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます
fsoは初耳なのでじっくり学びます
Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね
ありがとうございました。

760 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 12:18:11.17 ID:4zkFVcA8.net]
for each文かな

761 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 12:25:25.27 ID:A4xnc2/3.net]
あぁfor eachは必須だね



762 名前:デフォルトの名無しさん [2018/10/20(土) 13:40:10.36 ID:fOofNO0j.net]
>>717
余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う

763 名前: mailto:sage [2018/10/20(土) 14:06:53.02 ID:9jkSTDWo.net]
>>727
アセンブラとか環境とかはどう調達すればいいのでしょうか?

764 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 14:48:16.50 ID:wrk6+Nbn.net]
masm とか nasm とかのキーワードで調べる
っていうか、vbaの範囲外のことまでここで聞くなよ

765 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 17:52:59.67 ID:b1m8oY5e.net]
>>717
デバッグの方法(VBEの機能)
ユーザーフォーム
for next以外の繰り返し(do loop)

766 名前:デフォルトの名無しさん [2018/10/20(土) 18:35:11.69 ID:fOofNO0j.net]
>>728
齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ
「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う
資格の勉強にもなるし

やる気あるなら機械語が使えるポケコンを買って実際に
ハンドアセンブルしてみるのもいいかも

767 名前: mailto:sage [2018/10/20(土) 19:32:33.10 ID:9jkSTDWo.net]
>>731
casl2 は気が進まなくって…だってハードがないんでしょう?

768 名前:デフォルトの名無しさん [2018/10/20(土) 19:45:41.44 ID:fOofNO0j.net]
>>732
うん、ハードはないな、仮想CPUだから
でもコンピューターの仕組みは分かるようになる
俺はアセンブリの知識のおかげでデバッグとかで役に立ってる

769 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 09:08:05.20 ID:kG1rnb84.net]
オデッセイのやってるvbaの試験受けてvbaスタンダードに合格したけど、
これ実際にvbaでプログラム作れって言われても絶対作れないな。

何が言いたいかって、お前らすげーわ。

770 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 11:55:37.97 ID:ENQ8JUj5.net]
>>732
ハートもないやつがなにいってる

771 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 12:30:29.51 ID:jhIwJ9RB.net]
vbaで色々ツール作ってるけど、自分しか使わないっていうので設計雑になっちゃう。
後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね



772 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 14:12:47.07 ID:895e0oJn.net]
>>736
それは別に反省ポイントじゃない

773 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 14:42:48.38 ID:3rYBWp0g.net]
自分を省みるのは良いことだよ

774 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 17:38:59.00 ID:PQvzxFzP.net]
VBAはコードのスタイル云々以前に存在自体が基本的に悪なので、実務においてはいかに使用を最小限にとどめながら要件を満たすかが最も重要だよ
VBAがあるだけでメンテができる人が数十分の一になるんだから

775 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 18:02:16.30 ID:97mpJlTr.net]
VBA撲滅委員会でも作ってその会長にでもなれ

776 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 18:14:38.25 ID:PQvzxFzP.net]
>>740
別にVBAで飯食ってる人を批判するつもりはないよ。
プログラミングにおいて>>736の言ってるような適切なモジュール化(VBのModuleではなく広義のモジュールだぞ、念のため)を行う目的は、メンテナンス性を良くすることだ。
そして、Excelのメンテナンス性を高める最善の方法は、VBAのコードを綺麗に書くことではなく、VBAの使用を極力控えることだ。
VBAのメンテナンス性を高めようという発想は根本的に矛盾してるんだよ。

777 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:06:18.04 ID:jhIwJ9RB.net]
VBAの存在が基本的に悪という理由って何だ?
文面から見て、メンテできる人(使用者)が少ないからという風に捉えているんだが…
もしそれが理由ならば、職場によるのではないか?

778 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:13:25.11 ID:jhIwJ9RB.net]
ただ、以前にマクロを修正する案件をやった時
初めて他者の書いたコードをしっかり見ることになったが…まぁ見辛いし目的が捉えづらく苦労した。
ろくなドキュメントも残っていなかったしね。
でもそれは、コードの改善や仕様書

779 名前:しっかり残せば解決する問題であって、決して言語そのもののせいではないと私は思っているよ。 []
[ここ壊れてます]

780 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:36:36.64 ID:MDetJiiM.net]
言語や開発環境が悪いからユーザーが集まらない
言語や開発環境が悪いからユーザーが育たない
言語や開発環境が悪いから汚いコードが作られやすい

全てとは言わないが大きな影響力を持ってるのは否定できないな

781 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:54:07.49 ID:y1r4bkf6.net]
>>736
言うてもそんなに長くならないので、コメントさえしっかり書いておけば大丈夫だよ



782 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 20:57:14.28 ID:Mf4U6jjq.net]
Pythonを使える環境ならPythonでExcelを操作できるようになっといたほうが将来的に有意義なんですかね

783 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:27:31.42 ID:y1r4bkf6.net]
>>746
何を目指すかによる
プログラマーならexcelはまず触らない
事務職ならpythonを触らない
両方知っておくことは悪いことじゃないが、どっちっつかずになりそう

784 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:55:52.80 ID:Df7SvDdo.net]
知恵遅れに毎日60以上ののVBA低レベ質問が恒常的に続くのは、商業科がExcelを教科に入れてるせいか?
VBA、大学教養のC課題、ネトゲーマーのUWSC自動化の三馬鹿うんざりトリオをなんとかして欲しい

785 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:00:53.93 ID:y1r4bkf6.net]
無視したら

786 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:08:02.64 ID:VKzyLxGu.net]
どうせ半年後は.jsになってるんだし

787 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 21:19:25.29 ID:I9F6CV18.net]
昔アセンブラやってたけど
今はアセンブラの知識なんて
まず糞の役にもたたない
悪いことは言わないから
IL止まりにしておいて
残りの時間を他の言語の学習に回した方がいい

788 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 23:52:56.26 ID:PFCPc8y/.net]
VBAってWinAPI 使えるんだな
入力もエクセルのシート利用できるし使いがっていいなこれ
自分だけ使うものはこれで十分な気がしてきた

789 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 00:03:26.58 ID:lvTxqVIL.net]
二次元配列に入力できるってかなり神がかってると思う

790 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 08:52:35.61 ID:VGA0KlB2.net]
何を二次元配列に入力できる事が神がかってるの?

791 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 09:32:39.27 ID:r31i+JfI.net]
人間が抽象化なしで無理なく扱えるデータは二次元の表までなのは確かだな
特別な技能を持たない人間の能力的限界がExcel



792 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 11:20:28.64 ID:Poeqy0yu.net]
行(列)をベクトルだとみなすと何次元にでもなるでしょ
テンソル入れ物にするメリットってあるか?
レベル上がると有益になるのかな

793 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:41:01.78 ID:lvTxqVIL.net]
>754
文字列と数値。ってかこれ以外セルには入れられないでしょ。オブジェクトは入れられないし

794 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 00:13:09.54 ID:Inq2or/E.net]
何を〜に入力できる?
って質問に対して間違っちゃいないが...

795 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 01:08:48.00 ID:SUBF4wRe.net]
>>757
変数型のことじゃなくて、どんな
データかって意味じゃね?

796 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 07:12:48.70 ID:xKW3LLWl.net]
セルって単語が後出しだからこうなるんだよ

797 名前:デフォルトの名無しさん mailto:age [2018/10/26(金) 08:36:50.37 ID:QS/Z6hlA.net]
わかるなら聞くなよハゲども
なんでハゲてるか自問してろ

798 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:34:09.86 ID:FHu9JUdN.net]
>>752
当然だがWinAPIだけじゃなくVB呼び出しに適う任意のAPIが呼べるから、自分だけの環境なら何だって可能

799 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:45:47.31 ID:REmVcuAB.net]
解凍・圧縮用のdllであるunlha32やらunzip32なんかもちゃんと用意されていて、vbaから利用できるしな

800 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:00:29.68 ID:FHu9JUdN.net]
>>763
え、ないでしょ?
あるんだっけ?

801 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:4 ]
[ここ壊れてます]



802 名前:1:39.22 ID:FXq8Nzbn.net mailto: 「自分だけの環境」の話だろw []
[ここ壊れてます]

803 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:18:33.42 ID:7acxRmxq.net]
それ言い出すとシェル呼び出してそこから外部プログラムの実行でなんでもできるわな

804 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:10:36.89 ID:64tA3ZzD.net]
それだと最早Excel VBAを起点にする意味がないんだよなぁ

805 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 09:39:45.10 ID:z1SsyyeN.net]
戻り値主体の関数的な使い方がしにくいのでは?

806 名前:デフォルトの名無しさん [2018/10/27(土) 12:17:32.77 ID:nqyfF+/M.net]
なんで何でもできたら悪いみたいな言い方やねん

807 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:13:38.94 ID:gKMunlkh.net]
彼女の作り方がわからない

808 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:08:31.91 ID:arx5iKp2.net]
事務の女性をお得意のVBAで助けてやるんだ

809 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:08:09.98 ID:9XazvJsa.net]
助けてあげても一瞬感謝されるだけで何も起こらないぞ
下手すると感謝すらされない

810 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 21:27:07.52 ID:EQmtOnig.net]
>>772
そう、気づかないんだよな・・・

811 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:46:47.86 ID:bYiR1b6u.net]
助けても後出しで本当はこうしたいのにできてないだの文句言われる



812 名前:デフォルトの名無しさん [2018/10/28(日) 06:55:12.79 ID:xmv6f/Y+.net]
全然助けれとらんやんwプロさんあわれwww

813 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 09:41:11.55 ID:U+AZbxUR.net]
ちょっとしたことでいいからピンポイントで教えてあげる。
食いついてこなかったら諦める。

814 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:40:54.72 ID:o08My3f7.net]
ExcelVBAで、女にもてるようになる方法スレ w

815 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:02:16.86 ID:eT9vyE0h.net]
ランダムアクセスファイルでデータ管理をしています。
いままで動いていたものが GET PUT で 「レコード長が一致しない」となります。

一部こんな感じです。
Const MONTH_SIZE As Long = 60
Type M_Rec
S_code As Long
Stock As Long
byCode As String * 8
M_id_Cre(MONTH_SIZE) As Integer
End Type
Public S_MAIN_REC As M_Rec

Open FileName For Random As #SmainNO Len = Len(S_MAIN_REC)
Get #SmainNO, indexNo, S_MAIN_REC

この標準モジュールを破棄して同じモジュールをインポートすると
正常に動きますがワークブックを保存して再起動し同じ処理をすると
エラーになります。
Public S_MAIN_REC As M_Rec の 記述場所を移動させると正常に
動きましたがモジュール内に新規プロシージャを追加したらまた
エラーが出るようになりました。
モジュールが壊れていると思い新しく作成しても同じでした。
ご意見お願いします。
現在ユーザ定義 の M_id_Cre(MONTH_SIZE) As Integer の配列を
61に変更し正常動作中です。

816 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:41:59.08 ID:THaxkhg7.net]
さすがに時代遅れにも程がある
そんな黴の生えたゴミカスは今すぐ捨てて普通にワークシートで管理するかDBにしろ

817 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:41:48.78 ID:9UvKiQNH.net]
言い過ぎ。しかしランダムアクセスファイルとは懐かしい

818 名前:776 mailto:sage [2018/10/28(日) 16:59:37.36 ID:eT9vyE0h.net]
すみません
もともとはワークシートで管理していたのですがファイルのほうが
都合が良いので変更しました。

819 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:01:07.70 ID:ISWax1Kh.net]
で、今まさにその前提が間違っていたことが判明したんだろ?
直ちに戻しなさい

820 名前:デフォルトの名無しさん [2018/10/28(日) 20:08:41.54 ID:4pkRNiip.net]
馬鹿の特徴

動きません
エラーが起きます

決して具体的なエラーメッセージを書かない

821 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 21:40:15.40 ID:uzLWPyey.net]
バカ



822 名前:フ特徴
書いてあるエラーメッセージを理解できずに自爆 w

> GET PUT で 「レコード長が一致しない」となります。
[]
[ここ壊れてます]

823 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:30:32.75 ID:9UvKiQNH.net]
ここの住人回答者は居丈高だからteratailにでも質問なさい。
ただコード具体例とエラー詳細はいずれにせよ求められるけど

824 名前:デフォルトの名無しさん [2018/10/29(月) 00:30:55.69 ID:4Xu2UR6y.net]
>>784
馬鹿は表面的なことしか見えない

825 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 04:51:38.42 ID:xpZzwKyb.net]
>>786
表面的なことすら見えてないバカの自爆乙 w

826 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 09:45:00.02 ID:uMisuGYK.net]
初心者には環境とかエラーの詳細な条件を明記することへの心理的な障壁があります
その心理の正体は一体何でしょう?

827 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 10:53:33.28 ID:VYDzXbvz.net]
慣れの問題かと
・自信ないのでミス指摘されたくないなどの自尊心問題
・コンプライアンスリスクとの取り違え
・個人情報リスクとの取り違え

828 名前:776 mailto:sage [2018/10/29(月) 11:24:48.23 ID:aqnyYxuj.net]
少し荒れてしまいましたね、すみません

エラーは書いてあるとおり「レコード長が一致しない」
Openステートメントで指定された長さと異なるということなのですが
レコード変数やOpen Get Putのプロシージャなど変更せずに
このエラーが発生しました。多分VBAのバグだと思うのですが
詳しい方に教えていただきたく思いまして書き込みしました。
タイミングが悪かったですね。

829 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:33:02.57 ID:f3zS/Ojj.net]
確かにタイミングが悪かったな
20年遅いわ
今回お前が苦労して解決しても後で他の誰にも分からないんだぞ?
そんなもん押し付けられる方の身にもなってみろ

830 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:45:30.06 ID:uMisuGYK.net]
「VBA ファイル読み書き」で検索してOpen コマンドとかが出てくるものかねえ

831 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:48:12.61 ID:VYDzXbvz.net]
?出てくるぞ?あたりまえだろ



832 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 14:25:31.25 ID:gsxtgvfG.net]
>多分VBAのバグだと思うのですが

まぁ言語の方に責任を押し付けたくなるのは判るがなw

833 名前:デフォルトの名無しさん mailto:age [2018/10/29(月) 15:23:05.64 ID:P7hlr/PN.net]
何わろとんねん

834 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 16:45:28.78 ID:gkooAort.net]
>>790
バイナリエディターでレコードファイルを確認するのと、テスト環境作ってレコードを減らしても発生するかみる

835 名前:デフォルトの名無しさん mailto:age [2018/10/29(月) 18:06:20.39 ID:P7hlr/PN.net]
>>796
頼む

836 名前:776 mailto:sage [2018/10/29(月) 19:56:48.16 ID:aqnyYxuj.net]
>>796
エラーになる状態ですと、新規にファイルを作成しても1レコード目でエラーとなりますので
ファイルがおかしいとは思えません。ユーザー定義のレコードサイズ、モジュール変数の
メモリ設定があやしいと思うのですが。

837 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 23:29:14.96 ID:cO8xV5Br.net]
素人質問ですみません
エクセルで消費税を算出したいのですが、一つのセル内で完結できないでしょうか
ググっても税抜き価格と税込み価格の、二つのセルを使うものばかりでして

838 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 23:52:48.29 ID:g/o5tBon.net]
>>793
まさかな、と思ってぐぐってみたら本当だった。
しかもqiitaの新着記事にもそんなのあるし。

なぜなのか?

839 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 00:03:25.38 ID:oqjX6NBU.net]
>>798
最小条件での動作確認しないなら俺はなにもいわない

840 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 00:10:19.82 ID:iPJEDoz1.net]
>>799
それVBAの質問なの?そもそも

841 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 12:34:46.04 ID:MiaEkZFI.net]
>>799
税抜き価格を入力したら、そのセルの数値を自動的に1.08倍するマクロ

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = Int(Target.Value * 1.08)
Application.EnableEvents = True
End Sub



842 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 13:48:04.01 ID:Zs94iK ]
[ここ壊れてます]

843 名前:wt.net mailto: 際限なく1.08倍していきます []
[ここ壊れてます]

844 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 17:38:32.50 ID:D9hLQP5r.net]
消費税は際限なく上がる

845 名前:デフォルトの名無しさん [2018/10/30(火) 18:40:58.23 ID:bEYZFX0T.net]
くだらない質問だと思いますが、会社のバーコードで在庫 納品書 委託 委託精算 等 連携したものを作成する場合は初心者でどのくらい作成期間がかかるものでしょうか?

846 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:50:13.80 ID:aaXb5tV1.net]
100年くらい見積もっておけば間違いない

847 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:53:25.90 ID:E+8/TrgC.net]
少なくとも、SIerに委託するより>>806の給料の方が遥かに高くつくくらいの期間は間違いなくかかるよ

848 名前:デフォルトの名無しさん [2018/10/30(火) 19:15:41.01 ID:bEYZFX0T.net]
>>808
因みに幾らくらいかかるものでしょうか?

849 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 19:49:51.22 ID:wPm+kt3H.net]
>>809
仕様がわからないので見積もれません
4000億円ぐらいみとけば間違いない

850 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:01:06.67 ID:UXC/r+zj.net]
テーブル(lo)を列毎に配列で取り出して処理したいのですが、キーを列名、値に列範囲を格納すればforループで代入できて簡潔なのでDictionaryを使ってみようと思っています。

Dim dic As Dictionary: Set dic = New Dictionary
Dim lc As ListColumn
For Each lc In lo.ListColumns
_dic.add lc.name, WorksheetFunction.Transpose(lc.DataBodyRange.value)
next lc

以上で作成した「Dictionaryの値」に格納した「配列の値」に代入が出来ません。
例えば

debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA)(1) = "ライチュウ"
debug.print dic(見出しA)(1) '「ピカチュウ」が表示

となってしまいます。しかし以下の様に配列を格納し直すと反映されます。

debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA) = Array("","ライチュウ", dic(見出しA)(2),・・・
debug.print dic(見出しA)(1) '「ライチュウ」が表示

修正があるたびに配列を代入し直すのは面倒なので出来れば値を直接書き換えたいのですが、どうすればいいのでしょうか。

851 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:25:09.48 ID:4tQqoM/4.net]
>>811
そもそもlo.ListColumns(lc.Name).Range.Item(Index).Value でテーブル内のセル値のセッターにアクセス出来るので、わざわざそんなことをやる必要がないと思う
仕様上ListObjectは列名重複が許されないし、ListColumnsコレクション自体がDictionaryと殆ど等価のハッシュテーブルになる



852 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:50:28.74 ID:UXC/r+zj.net]
ありがとうございます
現在はそうしているのですが(元々それがやりたくて全部テーブルに置き換えたのですが)
値を取り出すときに毎回ListColumns(lc.Name).DataBodyRange(Index).Valueと長々書く為コードが読みづらいのと、配列にすればちょっと速度改善が見込めるかなと思って試していました。

853 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 13:51:41.06 ID:OKzw5dxl.net]
Dictionaryの代替以外の回答もお待ちしてます。


あと追加で質問なのですが、先ほどのTransposeの様にワークシート関数を利用するなら配列ではなくセル範囲の方が速いという記事を見つけました。
どういう原因でそうなるのでしょうか?

854 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 17:54:26.42 ID:Dz4usJiG.net]
一般的にユーザーによる同等のVBAコードよりワークシート関数の方が速い
C#とかよりC++ネイティブの方が数〜倍速くなるのと同じ

855 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 18:27:27.91 ID:b54HYVzl.net]
>>814
組込みの機能はアプリケーション内でリソース管理が最適化されてるのでね
VBAで

856 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 18:30:36.22 ID:b54HYVzl.net]
>>814
組込みの機能はアプリケーション内でリソース管理が最適化されてるのでね
VBAでやると不要な大きさのバッファを確保してたりして無駄が多くなる

857 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 07:11:29.46 ID:hEMz+97b.net]
シートにボタン配置して押したら、オートシェイプの直線を引ける段階までって出来る?いわゆるショートカットキー的な感じの。
実際に直線を引いちゃうのは山ほどネットに転がってるけど、引くのは任意でやりたい。

858 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 10:46:24.36 ID:Uh6mdsZK.net]
>>818
出来ない。

859 名前:デフォルトの名無しさん [2018/11/01(木) 18:36:00.35 ID:Nl3jEz8g.net]
Excelのセルに入ってるデータを使ってOutlookでメールをVBAで書きたいのですが
それぞれの行やある文字についてフォントや色などで装飾したいんです。
そんなことはできますか?
なんかできなそうなんですが。
でもこれをしないとものすごく不便なのです。
うまくいけば残業せずに遊びながら居残りしてお金だけはたくさんもらえるのですが・・・

860 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 18:51:35.86 ID:4wthv7uM.net]
>>818
できるよ。

861 名前:デフォルトの名無しさん [2018/11/01(木) 19:09:06.19 ID:Nl3jEz8g.net]
>>818
サルでもできるよw
単にボタンにマクロの登録をすればいいだけ。



862 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:13:58.18 ID:9hAL4zo4.net]
>>822
う〜ん...
俺もできるとは思うけどそんなに簡単か?
何を登録するんだ?

863 名前:デフォルトの名無しさん [2018/11/01(木) 19:18:10.81 ID:Nl3jEz8g.net]
>>823
ボタンを挿入して右クリックしてマクロの登録を選び実行させたいプロシージャを選ぶだけ

864 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:22:20.09 ID:9hAL4zo4.net]
>>824
直線を引く直前の状態にするプロシージャって簡単に書けるのかい?

865 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:24:41.75 ID:9hAL4zo4.net]
>>820
やったこと無いけどHTMLメールにして本文をHTMLにすれば良いんじゃない?
あとはテキストメール作成と同じじゃないの?

866 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:26:55.17 ID:1Z/ZXoar.net]
>>820
HTML書けるならこの辺りを見ればわかるだろ
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.bodyformat

867 名前:デフォルトの名無しさん [2018/11/01(木) 19:30:44.64 ID:Nl3jEz8g.net]
>>826
じゃ具体的なコードはどうなるの?

例えば、「こんにちは、うんちと申します。」の文で、うんちを太字で茶色にしたい場合。

868 名前:デフォルトの名無しさん [2018/11/01(木) 19:33:37.59 ID:Nl3jEz8g.net]
>>827
こんにちは、<B><font color=brown>うんち</font></B>と申します。


869 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:23:17.57 ID:EZF4jYAF.net]
>>822
できないから聞いたんだが?

870 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:35:45.63 ID:NdKTTFxC.net]
できるって言ってる人は質問をよく理解してないんだと思う

871 名前:デフォルトの名無しさん [2018/11/01(木) 23:45:47.15 ID:BwvtJmQs.net]
この板は日本語が読めない低学歴知恵遅れが多いのはあってる
えてして書いてある要件とまったく違うもんをあげてくるよくいる軽い池沼入ってるのと似てる



872 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:59:15.18 ID:8GU0aFYB.net]
お互い様

873 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 00:46:25.82 ID:iMC20ra8.net]
>>16
Excelのマクロの記録はVBAコードで表現できないものは原則できない
操作自体の記録再生ができるUWSCとかRPAといったツールを呼び出せばできる

874 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 06:47:30.99 ID:Cpir13NG.net]
Sendkeysで無理くりリボンメニューの直線を選択するコードを作ってショートカット割り当てる位しかないと思う

875 名前:デフォルトの名無しさん [2018/11/02(金) 07:54:22.50 ID:EKeu1zQN.net]
>>830
あなたはサル以下ということだ。ウイッキー。

876 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 10:00:17.95 ID:IpqW30ow.net]
>>818

あれ? まだコードあがってないですね。
じゃぁExcel2010用ですが、サンプルを、、、
目的に合わせてShapeIDを変えてください。

Sub CreateShape()

 Dim ShpID As Long   ' ShapetypeID
 Dim iShpCnt As Long  ' Shape Cou

877 名前:nt (追加待ち判定)
 Dim SHP As Variant  ' Loop用Shape

 ' Create Shape
 '--------------------------------
 ShpID = 409      'Freeformの場合
' ShpID = 1119     'Ovalの場合
' ShpID = 1042     'LineConnectorの場合
 iShpCnt = ActiveSheet.Shapes.Count
 Application.CommandBars.FindControl(ID:=ShpID).Execute
 Do
  DoEvents
 Loop While iShpCnt = ActiveSheet.Shapes.Count
End Sub

描かずに連続で押すと処理が入れ子になってしまうのが
難点ですが、、、
[]
[ここ壊れてます]

878 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 10:56:22.32 ID:N4XXlewl.net]
>>837
なるほど

879 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:39:25.94 ID:ouVO3wBC.net]
>>837
できた!ありがとうございます!

880 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:40:29.21 ID:m6WMCehM.net]
>>837
これで出来たんだね。
コード書ける環境じゃ無いから試せなかったけど、この方法かUIAutomation使うかどちらかかなあと思ってた。

CommandBarControl.ExecuteでもShapeの場合トグルっぱい動作だから思う状態になるか自信が無かった。

881 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:44:20.35 ID:m6WMCehM.net]
あれ、Do〜Loopの処理は気付かんかったなあ。
自分が作成してたら動かんかったと結論出してたかも。



882 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:50:59.79 ID:IpqW30ow.net]
>>841
StackOverFlowかどっかのサイトの受け売りなんですけどね。
どこからもらったのか忘れた、、、

883 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:57:46.92 ID:IpqW30ow.net]
>>837
あ、後続の処理用の変数消し忘れてた。
Dim SHP の行は不要です。

884 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 17:17:11.16 ID:ouVO3wBC.net]
ちなみになんだけどDoLoopはなんの為にあるんですかね?
なくても同じ動きすんだけど。

885 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 17:57:06.50 ID:oqBXcCoW.net]
書き終わってShapeオブジェクトが作成されるまで、次の処理を待機

元々書いた後に何か処理をするプログラムの一部だったんだと思う
今回はCommandBarControlのコマンドが実行された時点で仕事は終わってるから要らないかと

886 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 18:54:32.40 ID:m6WMCehM.net]
>>845
ループ無くても動くんなら思った通りだった。
違いが有るとすれば自分はFindControlは使わず、コントロールの指定もIDじゃなくて名前使う所。

名前はFor Each使ってCommandBarを列挙して名前をDebug.Print、そのCommandBarに対してFor EachでCommandBarControlを列挙して名前をDebug.Printなどで調べる。

887 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 19:49:18.45 ID:IpqW30ow.net]
>>844
ん? Do - Loop 部分ないとちゃんと動かんよ?
VBEから実行してない?
ボタンに割り付けると、ボタン押した瞬間に十時カーソル消えるはず。
Excel2010より新しいVersionは動きが違うの?

888 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 20:57:01.00 ID:/dr4nYVn.net]
>>847
ボタン押したらクリックしたら線がかけるようになったよ。
2003でも動いたし、2007でも動いた。

889 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 00:21:42.99 ID:N3tWJlln.net]
Excel2010でも試したけど、ループのないプロシージャで描けたよ
勿論ボタンのクリックイベントから

890 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 00:44:19.57 ID:N3tWJlln.net]
フォームコントロールに割り当てると描けないっぽい
ActiveXコントロールのイベントで呼べば描けるが

フォームコントロールって何のために有るんだろう・・・

891 名前:デフォルトの名無しさん [2018/11/03(土) 04:34:07.93 ID:/0NNzwPk.net]
任意のセルをコピーして所定の場所にペーストするマクロを作りたいです。
セルをコピーした状態からマクロ記録を取って、ペーストするだけのマクロを作ったのですがうまくいきません。

教えてください!



892 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 06:28:54.02 ID:5ShzkuEH.net]
>>850
VBAで作るフォームと処理を共有できる、とか?

893 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 06:31:10.97 ID:5ShzkuEH.net]
>>851
マクロの記録だと余計な処理が追加されるから、それを削るだけでうまくいくはず
まずは記録したマクロをここに書いてみ

ただしCtrlを押しながら複数のセルをコピーした場合はかなり難しくなる

894 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 06:39:13.96 ID:IAxxklmh.net]
>>850
ああ、なるほど。
確かにフォームボタン使ってた。
そのために余計な苦労をしたってわけか。
情報Thx!

895 名前:デフォルトの名無しさん [2018/11/03(土) 11:31:29.48 ID:/0NNzwPk.net]
>>853
Sub Macro5()
'
' Macro5 Macro
'

'
Range("AH11").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub


こんな感じです。これはセル1つ選択です。(最終的には複数選択してシート間でコピペする予定です)

896 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 11:43:19.50 ID:S6AysWL6.net]
社名 金額  部門
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
B社 1500円 事務
B社 3500円 営業
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
D社 2000円 事務

こんな感じのA社⇒D社のように整列されたデータに対して

897 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 11:43:51.55 ID:S6AysWL6.net]
社名 金額  部門
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
A社       営業計 1000円 <
         事務計 3500円 <
         販売計 3000円 <
            計 7500円 <
B社 1500円 事務
B社 3500円 営業
B社       営業計 3500円 <
         事務計 1500円 <
            計 5000円 <
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
C社       営業計 4000円 <
         販売計 1500円 <
            計 5500円 <
D社 2000円 事務
         事務計 2000円 <
            計 2000円 <
全社      営業計 8500円 <
         事務計 7000円 <
         販売計 4500円 <
            計 20000円 <

こんな感じに行の間に小計、最後に合計を挿入するようなコードありますか?( < が追加行)
小計は必ず 営業、事務、販売の順番に並び、0円の場合は行自体挿入しません
実際ののデータは会社数、部門共に30以上あるので速度重視であれば望ましいです

898 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 12:46:22.45 ID:q2N3VeHV.net]
そんなもんExcelのグループ集計で一発
お前に必要なのはVBAではなくExcelの入門書

899 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:03:36.46 ID:3VcH/mb2.net]
>>829
span使え

900 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:12:27.13 ID:78HW/kSp.net]
>>857
とりあえずピボットでググったら?

901 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:18:18.27 ID:3VcH/mb2.net]
標準のエディタインライン展開できないとかsubの引数名自動で変えられないとかクソすぎ
誰かもっと開発しやすいやつをくれ



902 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:30:31.88 ID:S6AysWL6.net]
集計したい訳じゃなくデータを作成したいんだって

903 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:33:02.71 ID:N8ATSODS.net]
>>862
だからそれはグループ集計でできる

904 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:38:02.57 ID:S6AysWL6.net]
VBAで作るには?

905 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:47:38.58 ID:N8ATSODS.net]
グループ集計の操作をマクロで記録するといいよ

906 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 15:14:54.13 ID:NeGXChns.net]
>>855
単にシート間で複数セルの値を同期させたいだけならそもそもクリップボードを経由しない方が早いのでは?
VBAでコピーしないでワークシート関数でシート間参照させるとか、コピー元のセルのValueプロパティなりFormulaプロパティなり、必ずコピーしなきゃいけないプロパティだけをコピー先のプロパティに直接代入するとか

ユーザーによるコピー操作そのものを再現しなきゃいけない理由でもあるの?

907 名前:デフォルトの名無しさん [2018/11/03(土) 18:06:58.76 ID:/0NNzwPk.net]
>>866
シート間で照合するデータだとマクロ使わずできるのですが、
コピー元のシートのデータが大きいので、ペースト先のシートには必要なものだけを張り付けて、
印刷用のフォーマットに変換させて、終わったらペースト先のシートは保存せず元に戻すという操作をしたいと考えています。


お願いします。

908 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 19:32:11.39 ID:NeGXChns.net]
>>867
元データの書式や印刷用シートの体裁、印刷するデータの抽出方法などがわからないが、やりたいことからすると、Range.TextプロパティかValueプロパティの値をコピー先にそのままコピーするだけで良さそう

コピー元とコピー先のデータの体裁によっては、Range.AdvancedFilterメソッドで印刷用シートの方にフィルタ結果を出力するとかもできる

909 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:51:34.85 ID:MUI16VQU.net]
クラサバシステムを作るのは現実的なのでしょうか?
DBは相性からいってSQLServerで

910 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:58:31.43 ID:zFR/cOIP.net]
>>869
Excelで作ろうとしてる理由が能力の問題なのか、それともExcelのワークシートの機能が必要だからなのか、それ次第だな
C#やVB.NETやJavaで作れる能力があるなら普通に作れるし、無いなら無理
能力が無いならAccessでも使ってろ

911 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:03:55.31 ID:e+FwThFa.net]
能力の問題なら今ならOffice365のPowerAppsおすすめ
たぶん>>869が手作りするより遥かに高品質なものが一瞬で作れるよ



912 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:12:01.99 ID:MUI16VQU.net]
作りたいのは、Activitiのエンジンを使ったWFシステムです
Excelで検討する理由は、ADによるシートとセルの権限管理ですかね

913 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 00:03:26.74 ID:Ujv6OCQm.net]
いやクラサバだったら権限管理はSQL Server側でやるもんだろ
当然、SQL Serverなら問題なくADで制御できる
その調子じゃ厳しそうだね

914 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 00:32:40.13 ID:xCAdckZO.net]
Excelのレベルで権限制御したところで、別のExcelシート作ってデータソース参照するだけでやりたい放題やで
Excelに限った話ではなくC#などでクライアント作る場合でも同じことで、プロなら絶対にありえない設計

915 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 07:35:57.46 ID:dL+sv/7f.net]
ここで板違いの質問を堂々とするレベルなんだから w

916 名前:デフォルトの名無しさん [2018/11/05(月) 12:48:07.93 ID:g2XKp1gu.net]
またプロさんイキっとるのw

917 名前:デフォルトの名無しさん [2018/11/05(月) 23:37:43.98 ID:Vz2xlIAK.net]
>>868
Range.Textプロパティ、Valueプロパティが良く理解できなくて困ってます。
セルの指定で合ってますか?

コピー元の表の中からから1行(5セル分)コピーして、隣のシートの所定の位置に貼り付けたいです。
1行選択した後、マクロ起動させて隣のシートに張付けという操作です。頼みます、教えてください!

918 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 00:56:10.22 ID:bmwIjcqH.net]
>>877
Sub CopyToPrintForm()

ThisWorkbook.Worksheets("データ用シート名").Range("コピー元セルの行番号:コピー元セルの行番号").Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号")

End Sub

919 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 01:09:36.50 ID:bmwIjcqH.net]
>>877
印刷するデータの行をユーザーに選ばせる場合、ユーザーに行選択させた状態で以下のマクロを実行させるようにするとかでいいだろ
文字通り一行コピーしてしまうので要注意

>>877
Sub CopyToPrintForm()

ThisWorkbook.Worksheets("データ用シート名").Activate
ActiveCell.EntireRow.Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号")

End Sub

920 名前:デフォルトの名無しさん [2018/11/06(火) 01:38:13.14 ID:ca/fCdtD.net]
>>879
ありがとうございます。
Pasteはいらないのでしょうか?

921 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 02:06:44.79 ID:hX39oSae.net]
教えてください!とか言ってるから荒しかと思ってたがガチか



922 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 02:42:45.06 ID:hX39oSae.net]
>>867
>ペースト先のシートは保存せず元に戻す
マクロを実行すると「元に戻す」は使えなくなるから、一々開きなおさないといけないけど大丈夫なのかな
もしその作業が連続して行われるなら、テンプレート用シートと印刷用シートを別に用意した方が楽な気がする

923 名前:デフォルトの名無しさん [2018/11/06(火) 06:33:12.72 ID:ca/fCdtD.net]
>>882
保存せずは間違えでした。
ペーストしたものをデリートするマクロを作って、元に戻す予定です。

924 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 07:50:07.02 ID:hqcuocq7.net]
>>880
引数付きでCopyメソッドを実行するときはPasteメソッドは書かなくていい

925 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 08:01:03.35 ID:hqcuocq7.net]
>>883
印刷用シートはデータと切り離してテンプレート用の別のファイルにした方が良い
そうすれば、印刷処理のとき一時的にテンプレートから印刷用フォーマットを書き起こした後、印刷用フォーマットのブックを削除するだけで済む
印刷後に印刷用シートを初期化するマクロを更に走らせるなんて、手間を増やしてるだけだと思うぞ

926 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 19:36:10.55 ID:gYvutDKX.net]
複数端末で使用しているマクロがあります
端末aのデスクトップに目当てのファイルがあり、他の端末はネットワークで繫がっている端末aのデスクトップを覗きに行く感じになってます
ファイルパス & filenameで参照したいんですがどのように書くべきなんでしょうか

927 名前:デフォルトの名無しさん [2018/11/06(火) 19:50:54.72 ID:S8pHBi6C.net]
>>886
のぞいてる?
スケベ!

928 名前:875 [2018/11/06(火) 19:57:59.09 ID:ca/fCdtD.net]
みなさんありがとうございます。自分のイメージしてたものが100%出来ました。

929 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:30:23.08 ID:hKUAUjlF.net]
VBAベーシックの資格取得がてら基本情報の午後問対策にしようと思ってるんですけど出題範囲とかレベル感的に同じくらいですかね?

930 名前:デフォルトの名無しさん [2018/11/07(水) 10:26:42.01 ID:d5oBs1zX.net]
VBAの資格って新しくできたのか?

931 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 10:35:52.33 ID:XvVrOgoe.net]
>>886
ネットワークにつながったPCの名前に「\\」を付けるとアクセスできる
officetanaka.net/other/extra/tips15.htm



932 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 10:44:51.43 ID:t8cEHMAy.net]
>>891
\\端末a:\Users\Admin\Desktopみたいな感じですね、ありがとうございます

ちなみにこれは端末aでも端末a以外でもこの書き方一つで参照出来るんでしょうか

933 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 10:53:48.53 ID:XvVrOgoe.net]
>>892
端末aのフォルダを共有設定にしておかないとアクセスできない
共有になってれば、どのPCでもアクセスできる
エクスプローラーで共有フォルダを開いて、アドレスバーをコピペしてみると書き方が分かる

934 名前:875 [2018/11/07(水) 11:49:07.56 ID:4XVkNdGZn]
シート間の切り替えで我慢が揺れるんですが、防ぐ方法は有りますか?
1行丸々コピーはデータが重いんでしょうか?

935 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 11:32:15.04 ID:nZWGaJPv.net]
会社なのに共有フォルダはないの?

936 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 11:34:31.05 ID:+HyKX3eQ.net]
>>889
基本情報はJavaやCできない文系カスならExcel選べばいいでしょ
ワークシート関数を使いこなせれば十分で、VBAなんか全く要らん

937 名前:875 [2018/11/07(水) 20:36:23.84 ID:TW51zyDp.net]
マクロ起動でシートの切り変わりで画面がブレるというか、もう少しスムーズに動いて欲しいと感じます。
1行まるごとコピーしているので重いのでしょうか?

938 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 22:08:04.86 ID:Qojc5OuV.net]
配列に入れるとか?
dim a
a = sheet1.Range("コピーしたい範囲")
sheet2.Range("sheet1と同じ大きさ") = a
シート切り替える必要あんの?

939 名前:デフォルトの名無しさん [2018/11/07(水) 23:56:50.98 ID:kdSj6Mns.net]
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

940 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 23:58:12.32 ID:Z9bNZaPm.net]
拡張子を.csvに変えてダブルクリックしてみよう
あら不思議!

941 名前:デフォルトの名無しさん [2018/11/08(木) 00:00:20.32 ID:+1CERcyT.net]
ちなみに拡張子をcsvにすると以下のような変な出力になる。

A B C
1 my name is taro
2 hello world""
3 hello,world



942 名前:デフォルトの名無しさん [2018/11/08(木) 00:02:21.00 ID:M68F6j6d.net]
"が一個足りない
csvで"をインポートするには
"を""にして
"でくくらないといけない

943 名前:デフォルトの名無しさん [2018/11/08(木) 00:10:13.02 ID:+1CERcyT.net]
手順としては以下でよいか?
1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する
2. 拡張子をcsvにする。

期待値になったのでよしとする。
さらに一歩質問いいですか?

944 名前:デフォルトの名無しさん [2018/11/08(木) 00:19:54.15 ID:+1CERcyT.net]
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にしたら、ちゃんと期待値になってた。。
んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。

945 名前:デフォルトの名無しさん [2018/11/08(木) 00:35:58.02 ID:+1CERcyT.net]
ああ、思い出した

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

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

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

A B
1 (※)

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

拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。

946 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 01:33:19.87 ID:QHwNiY6E.net]
ExcelのCSV読み込みでセル内改行がある場合

d.hatena.ne.jp/stealthinu/20170127/p1

947 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 07:54:15.59 ID:u+iZKjOm.net]
なんかもう最初のカンマまでの文字数だけ切り取るほうがシンプルなんじゃ

948 名前:デフォルトの名無しさん [2018/11/08(木) 11:52:01.74 ID:rWQT8E4I.net]
excelの3Dグラフで陰線処理ってできますか?

949 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 12:05:03.88 ID:Yck2Cb0Y.net]
陰毛処理?

950 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:33:21.43 ID:3qqw0Iqx.net]
>>898
それのどこに配列が絡んでるんですかね?

951 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:42:53.05 ID:rBrrwKGn.net]
>>908
昔方法探したけどできなかった


陰線処理ってエロくないのにちょっとエロく思える単語だよな



952 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:12:21.75 ID:BZZI+ZYR.net]
質問する奴も答える奴も論外で草
質問する奴はそういうスレだからともかく
答える奴が池沼なのはもう少し何とかならないか?
VBAだから無理か

953 名前:デフォルトの名無しさん [2018/11/08(木) 19:19:19.39 ID:j6Jh7/pK.net]
なんやプロさん同士で内紛勃発か?w

954 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:27:13.91 ID:hKKyRwQm.net]
>>910
えっ?
絡んで無いと思ってる?
今となっては初心者でも使う手法だと思うんだが。

それとも何か勘違いしてるのは俺か?

955 名前:デフォルトの名無しさん [2018/11/08(木) 20:30:22.05 ID:j6Jh7/pK.net]
>>914
おまえだけやプロさんw

956 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:41:38.00 ID:vlGhAqs/.net]
>>910
変数代入のときにSetステートメント使ってないから、変数にはセル値の配列が入ってるぞ

957 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:36:31.77 ID:I6vRTJnd.net]
>>873,>>874
SQLServer側でセルの権限管理???
プロ??

958 名前:デフォルトの名無しさん [2018/11/08(木) 22:38:08.36 ID:j6Jh7/pK.net]
プロさんにつっこんだらあかんやろ
暗黙のルールぐらい守れやカス

959 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:43:10.26 ID:I6vRTJnd.net]
そんなことより、XMLクライアントとしてのExcelを語ろうぜ

960 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:06:03.49 ID:g1taMrfK.net]
>>917
セルの権限管理なんぞサーバーから見たら何の意味もないよ

961 名前:デフォルトの名無しさん [2018/11/09(金) 10:17:43.12 ID:46H7vVxk.net]
sagawa-oki.com/
ここにアクセスしたら不審サイトであると警告が出ました。
PCに詳しい人、これどういうしくみなんですか?
オレのPCは感染したのですか?



962 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 10:21:06.82 ID:mRKVO+Jg.net]
yes

963 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 10:42:48.08 ID:jWmpQO7/.net]
>>921
もう手遅れですね
アマギフ送ってくれたら直してあげられるよ

964 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 14:25:59.43 ID:xyt0IPos.net]
>>919
これ興味あるんだよな
使いやすい?

965 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 22:13:18.94 ID:GmFPY+rV.net]
プロに聞いてみようぜ

966 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 22:36:34.07 ID:dt2W+h7o.net]
デザイナーが描くような美しいUMLのシェイプを生成するDSLライブラリはありませんか?
PlantUMLのエクセルバージョンのようなものを探してます

967 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:47:50.89 ID:g7tZUN2t.net]
データの持ち方はシンプルな方がいい
そうでないなら条件を明確に

968 名前:デフォルトの名無しさん [2018/11/12(月) 08:23:59.02 ID:emJ6rSNr.net]
901だが、
さらにおしえてほしい
textに

"please call a "phone"."

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

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

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

手作業ではなく、置換で自動化したい

969 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 09:22:19.42 ID:CGIJA+ER.net]
そういうのはCSVとして読み込むんじゃなくて、自前で構文解析した方が良い。
この程度なら難しく無いでしょ。

970 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 09:52:07.52 ID:zyHWT4B/.net]
>>928
正規表現置換の使えるエディタで
検索パターン
([^\,\"]+?)\"{1}([^\,\"]+?)
置換後
\1\"\"\"\2
などとすれば一応行ける

971 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 09:53:55.26 ID:zyHWT4B/.net]
訂正
置換後
\1\"\"\2
だな、1個多かった



972 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 21:39:04.12 ID:OsYv7RWH.net]
全く無知な自分にご教授下さい。
マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。
ネットに転がってるのを実行してもうまくいかないです。
できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。

973 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 21:42:09.58 ID:dMWbNPXa.net]
>>932
私には可能ですし特に高度とも思いませんが、貴方にできるかどうかは知りません
少なくとも今目の前の問題を片付けたいだけであれば、諦めて手作業したほうが貴方にとっては早いでしょう

974 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 21:54:32.66 ID:JxfhNlMu.net]
ネットに転がってるのがあってもできないなら回答しても意味なくね?
ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない
何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか
それくらいは頭を整理して明記しなさい
何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい

975 名前:デフォルトの名無しさん [2018/11/12(月) 22:03:30.98 ID:XDhm+jvj.net]
>>933
バカはお口にチャックな

976 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 22:13:45.72 ID:MyIa17Oe.net]
Dir
sheet(1)
IsDate
この辺りで調べてみればそこまで難易度は高くないと思う

977 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 22:18:58.14 ID:OsYv7RWH.net]
>>933
なるほど。難しいって事ですね。
>>936
sheet(1)だと中にはsheet(2)にデータがある場合があるんです。
なのでシートのA1が日付の時だけコピーとかしたかったのです。

978 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 22:36:44.04 ID:zyHWT4B/.net]
for each ws in Worksheetsとif文が使えればできるよ

979 名前:デフォルトの名無しさん [2018/11/13(火) 00:16:47.48 ID:6PLLlNb2.net]
>>930
試したけど、grepにひっかからず。

980 名前:デフォルトの名無しさん [2018/11/13(火) 00:18:49.38 ID:6PLLlNb2.net]
936ですが、
原因が分かりました。
([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。
半角スペース覗いたらできました。

981 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 03:19:44.71 ID:gWmuHRek.net]
>>928
1"2"3"4"5

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

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

例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、
他に解釈されないような、特別な記号を作るのは難しい



982 名前:927 mailto:sage [2018/11/13(火) 07:16:41.37 ID:xWZc78Mp.net]
>>940
半角スペースはそちらでの混入かと

983 名前:デフォルトの名無しさん [2018/11/13(火) 21:19:22.76 ID:8adn94NA.net]
>>940
Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?

984 名前:デフォルトの名無しさん [2018/11/13(火) 21:22:12.20 ID:Vxu3kwrv.net]
>>941
長い、3文字で

985 名前:デフォルトの名無しさん [2018/11/14(水) 00:32:01.09 ID:cWkoLxip.net]
こんばんは。質問させてください。

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

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

よろしくお願い致します

986 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 02:04:23.47 ID:otO/yyOk.net]
Ruby, Python, JavaScript など、すべての言語・コマンドでも、そう。
HTML, XML, JSON などは、それ用のライブラリを使う

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

正しい形式かどうかを、チェックするツールもある

987 名前:デフォルトの名無しさん mailto:sag []
[ここ壊れてます]

988 名前:e mailto:2018/11/14(水) 03:54:10.85 ID:KIwP1nqR.net [ 以前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として扱うのは出来ないのでしょうか。 ]
[ここ壊れてます]

989 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 06:47:08.50 ID:F2hyLHDL.net]
>>945
> MSXML2というパーサ(?)を使わないといけないのですか?
別にMSXML2なんて単なるライブラリだから使わなくてもいいよ
ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ

990 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 08:00:52.88 ID:cWkoLxip.net]
>>946
>>948
ありがとうございます
大変勉強になりました

991 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 09:35:48.86 ID:JBsUV7Ak.net]
>>943
VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、
grepやpowershellみたいに簡潔にならんけどできないことはない

Set Matches = RE.Execute(対象文字列)
For Each Match In Matches
Match.submatch(0) & """""" & match.submatch(1)
Next Match



992 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 21:48:32.31 ID:X5SCw3Kf.net]
入力規則のリストでリストのいずれかを選択した時に
アクションを起こしたいのですが、方法はあるのでしょうか。
selection changeでは無理でした。

993 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 23:16:38.95 ID:Z7uIM71c.net]
>>951
普通のWorksheet_Changeイベントを使う

994 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 01:04:33.76 ID:pL2ZxAKh.net]
>>952
出来ました!
こんなに簡単なことを見落としていたなんて情けない・・・
ありがとうございました。

995 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 22:05:17.67 ID:xj1JjGGB.net]
上場企業ってポリシーでマクロとか止められてない?

996 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 22:08:32.25 ID:60AqZ+Uz.net]
各部署向けのマクロを色々作ってたけど
そんなの企業次第だろ

997 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 22:14:10.97 ID:Q+Sfzbdk.net]
うちは個人での業務効率化が目的なら黙認されるのが実情だな
部署での正式な業務ツールとしてのマクロは情シス部で仕様として管理される事になるし、個人での作成も配布も禁止されてる

998 名前:デフォルトの名無しさん [2018/11/15(木) 23:27:40.32 ID:sS26qanx.net]
ザルにもほどがあるやろw黙認とか一番あかんやつやんけw

999 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 23:59:31.43 ID:lTdn/5mU.net]
マクロは申請が必要で保存場所は限定だわ

1000 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 04:45:29.00 ID:1oL4uemZ.net]
以前は自由だったのが、誰かがミスするたびに禁止になって、今はほとんど何もできなくなった

1001 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 07:12:21.93 ID:B19KzSp6.net]
情シス部にいるとマクロ作り放題(影響及ぼす範囲によるが)



1002 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 09:34:05.81 ID:iyDekcJ2.net]
それで競争になるのか人事ながら心配
禁止なのはOfficeマクロだけってなら分かるけどさ

1003 名前:927 mailto:sage [2018/11/16(金) 09:43:44.02 ID:fQoG7lNZ.net]
セキュリテイ問題はVBAだけじゃない、今流行りのRPAだってハック悪用されちゃえば、情報流出し放題になる危険はある。
ただ情シスでVBAし放題って、仕事としては辛いなあ、VBAが好きならいいけど

1004 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 11:24:37.60 ID:iyDekcJ2.net]
情報流出のリスクって観点だったら自分の手元の端末でプログラミングする/しないなんてあんまり関係ないよなあ。
セキュリティ担当大臣のリテラシーがあれじゃ何言っても無駄かw

1005 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 13:07:59.03 ID:+iwVt0B0.net]
うちの場合、初期導入済みのソフト・プログラム以外追加インストール禁止、
プログラムの自作禁止、バッチファイル等のスクリプトも自作禁止、
その他電算担当が意図しないものは禁止、
ただしExcel・Wordのマクロはプログラム外とおかしなやりとりさえしなければ自作可、だから、
お目こぼしいただいているといえばそうかも試練。

1006 名前:デフォルトの名無しさん [2018/11/16(金) 20:12:20.13 ID:HodhQ/sE.net]
>>963
おまえも大差ないけんどねw

1007 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 12:59:10.62 ID:rrttmrGF.net]
htmlでも作れるよ

1008 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 16:28:27.01 ID:avlCLAGR.net]
禁止いうても、コンペアツールや自動入力ツールの類を自作してこっそりローカルで使ってる人はいるわな。
個人で作成したマクロなんてそう大勢に普及させるもんでもないし。

1009 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 19:32:22.12 ID:afjAxwZo.net]
>>964と同じような環境でパソコン操作ログも全て取られている。けどマクロは作り放題でこの会社どうかしてるなあと思う
管理できる範囲で使うようには心がけてる程度

1010 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 23:34:31.53 ID:kPyd3h/H.net]
すみません初心者です。
次のブログで紹介されているVBAを応用したいのですが、
ご助言をお願いしたく。
https://www.excel-prog.com/entry/outlook-mailitem2

現状は
「キーワードが含まれるファイルが見つからない場合は、ファイル添付しない」
という処理なのですが、
「キーワードが含まれるファイルが見つからない場合は、下書きを作成しない」
という処理に変更できないでしょうか。

1011 名前:デフォルトの名無しさん [2018/11/17(土) 23:37:15.00 ID:eQWBxdMf.net]
>>969
質問以前の問題やけど言葉を途中できるな、失礼やぞ
「助言をお願いします」と言うもんや



1012 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 23:39:40.85 ID:rc62Vrp5.net]
>>969
自分で勉強する気がないならRPAを買おう

1013 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 23:48:28.07 ID:Q6MHNsVE.net]
Windowsにも色々なコマンドラインツールが標準で付属してくるから
たいていのことは追加ソフトなしでできちゃうんだよな

1014 名前:デフォルトの名無しさん [2018/11/18(日) 00:19:50.58 ID:RRVp+pUX.net]
なんや、わいは>>969の言葉使いのバカさを諫めただけで質問の内容は否定しとらんで
わかる奴答えてやれや

1015 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 00:50:35.06 ID:WoNYW9mY.net]
>>969
下書きを作成しないというか、要するにメールを書き起こさないようにすればいいわけだよな
ならば、メール作成箇所の前に一行


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


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

ただし、エクセルファイル以外のファイルの存在確認をするならSearchFile関数の修正が必要だし、パス長が255文字を越えるフォルダやファイルを検索する場合はFileSystemObjectを使ったりしなきゃならない

1016 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 07:35:49.85 ID:ZUPq3iVE.net]
>>972
powershellとbashのこと?

1017 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 08:50:18.78 ID:fvzyxXyq.net]
>>970
そんなコマケーことが気になるなら匿名掲示板なんて見るなよ、馬鹿じゃねーの?

1018 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 09:39:49.09 ID:xm+TdzEk.net]
>>975
Vista以降はコマンドライン版のC#コンパイラが標準で入ってるから、理論上はなんでも作れる
開発環境がないから手間はかかるけど

1019 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 09:44:41.41 ID:31bgLNRt.net]
コマンドライン版でないC#コンパイラなんて存在しませんw

1020 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 10:02:01.46 ID:1SW2m7ab.net]
流れを無視して急に知識自慢始めちゃうやつ
今の話題はアプリの追加インストールが禁止された環境で何が出来るか

1021 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 10:52:24.32 ID:agYaFy5y.net]
C#のコンパイラはVista以降なら追加インストール必要ないぞ



1022 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:13:46.24 ID:PoFSPoaK.net]
C#は標準で使えるけどまともなエディタが無い
少なくともVSCodeは必須と言っていい
それと最新の言語バージョンにあげたいからSDKも合わせてインストールしたいね
本家Visual Studioは要らないけどプレインストールだけで戦えるほど簡単でもない
でもVBE+VBAと比べるとC# 5+メモ帳でもまあいっかーこっちのほうがまだマシかもなーという気持ちになることは認める

1023 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:14:53.56 ID:Nq43WKFY.net]
>>980 3つ上に書いてある

1024 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:20:20.73 ID:SwY+rtAE.net]
>>978
アスペ乙

1025 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:24:42.28 ID:SwY+rtAE.net]
>>982
書いてあるのに>>979みたいなこと言うやつがいるって話だろ

1026 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:59:22.66 ID:ve9l0Wxi.net]
>>981
Visual Studio Codeはまともじゃないと?

1027 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:08:47.18 ID:PoFSPoaK.net]
>>985
??
あれはいいエディタだよ

1028 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:15:47.10 ID:31bgLNRt.net]
VSCodeなんかフリーソフトのインストールに許可が要る会社で使うのは不可能だろ
C#の開発環境を整えようとしようものなら数百個のオープンソースライブラリが勝手に入ってくるから、
全部申請出して情シスにレビューさせたら何年かかることか

1029 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:23:37.60 ID:ve9l0Wxi.net]
>>986
ああ日本語の問題ね

1030 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:31:26.14 ID:PoFSPoaK.net]
>>987
そんな厳しいチェックしてる企業は実際にはないよ
Microsoftが出してるツールならMicrosoftを信用してMicrosoftが採用したオプソの依存関係も信用する
これぐらいのバランス感覚が普通じゃないかな

1031 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:35:06.02 ID:zyj02y5w.net]
984じゃないけど、そら世間知らず過ぎだわ
どんだけセキュリティ弱い企業なのよ、うちだってまず無理だわ

だからこんな糞言語使ってるってのに



1032 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:45:51.12 ID:PoFSPoaK.net]
いやいや
膨大な数のオプソのセキュリティをレビューできる専門家を何人も囲える企業ばかりじゃないだろ
囲える力があったとしてもそんな貴重な人材をツール申請のレビューアーとして使い潰す企業があったとしたらただのマヌケだわ

1033 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:47:52.42 ID:VUJKeY9L.net]
Windowsのアプデで.NETライブラリを更新することにすら神経尖らす企業もいるし、VSCode使用は一般化できんね

1034 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:50:32.45 ID:PoFSPoaK.net]
だから殆どの企業は判断基準として発行元はどこなのかということぐらいしかチェックしない
現実的に考えると企業としての信用で判断するしかないんだよ
そしてソースコードではなく信用で判断するなら信用した企業が信用した企業も再帰的に信用したって構わないだろ

1035 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:54:35.35 ID:XN88gtNz.net]
前職は某外資Iのグループ会社にいたけど、Globalのルールだと
業務で使用するオープンソースライブラリは許可済みのもの(レビュー済の特定のバージョンに限る)以外は全てレビュー必須だったぞ
厳密に適用するとVSやVSCodeのパッケージマネージャで入ってくるような膨大な数のOSSライブラリは全てレビューが必要
まあ誰も守ってなかったがw

1036 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:55:34.27 ID:PoFSPoaK.net]
>>992
それは違う理由で神経尖らせてるだけ
日本企業で.NETと言ったらVB.NETが代名詞になる
VBコミュニティのレベルの低さは底なしだ
彼らがVB.NETで作った業務システム(主にデスクトップアプリ)ってものすごく簡単に壊れるんだよ
OSやフレームワークの更新なんてしたらどうなるか分かったものじゃない
だから慎重になるの
オープンソースのセキュリティについて慎重になるのとはベクトルが違う

1037 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:59:43.99 ID:XN88gtNz.net]
>>995
委託開発なら当たり前でしょ
だってライセンス許諾の主体は開発側ではなくユーザーなんだから、
使用しているライブラリをユーザーに把握させユーザー自身で許諾させることは法的に当然必要なプロセスだ
ちなみに991は自社利用するときの話な

1038 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:05:16.34 ID:PoFSPoaK.net]
>>994
ソース全チェックなんて現実的なアイデアじゃないからたちまち形骸化するよね
信用のおける企業が発行あるいは採用してる、世界規模で採用実績が十分に多い、信用のおける団体が認証している、といった基準で判断しないとITビジネスのスピードに追いつけない

1039 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:25:25.99 ID:fvzyxXyq.net]
ソースなんてチェックできるわけないわな
やってもライセンス条項のチェックが精一杯だと思う

1040 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:56:30.51 ID:mxtYTXok.net]
たまたまオープンソースで読めるからって
急にチェックし始めるのは良くわからんな

1041 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:02:39.60 ID:t5VFkoMH.net]
>>999
読めるかどうかじゃなくて責任の所在の問題だ
オープンソースのほとんどは自己責任だから、使って重大な損害が生じたときに賠償請求できない
ライセンスについても「あくまで俺の書いたコードについてのライセンスであり、依存してる他のライブラリは知らん」が普通だし



1042 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:12:20.41 ID:mxtYTXok.net]
自己責任なのはオプソに限らずフリーウェアのほぼ全てじゃない
jreやflashなんてどうやって検証してるのさ

1043 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:38:30.24 ID:PoFSPoaK.net]
オープンソースって有名なものは大企業や財団が管理・支援してるからな
ソースを全部チェックしなきゃインストールしちゃだめなどと素っ頓狂なことを言い出す企業のあって無いようなセキュリティ意識よりよっぽど安心

1044 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:43:42.16 ID:M6SP58jh.net]
>>993
逆。
だからチェックせずに禁止する所が多い。

1045 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 68日 17時間 1分 3秒

1046 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef