1 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 06:30:02.67 ID:pZYy6q7Y.net] 前スレ 【最強CUI】PowerShell -Part 1 echo.2ch.net/test/read.cgi/tech/1378978504/
710 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:23:08.10 ID:IR/E13YL.net] >>679 あ、来た それと最後の空行はどうなの? @" aaa bbbてすと "@ が元ソースだとして @" aaa てすと "@ @" aaa bbbてすと てすと "@ @" aaa てすと "@ の3パターンあるが、どれ?
711 名前:デフォルトの名無しさん [2018/04/01(日) 15:31:18.80 ID:D0kqpvo1.net] >>681 一番最初がいいですね ↓ @" aaa てすと "@
712 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:39:31.01 ID:IR/E13YL.net] >>682 OK,やっと仕様が決まったね めでたい
713 名前:639 [2018/04/01(日) 15:39:47.10 ID:y3W5ZkrO.net] >>679 最後に出てくる"てすと"という意味ですが、したのようなとき "てすと"を含む最後の行は5行目という意味ですか? 1行目 abmてすとxyz 2行目 1239xxxx 3行目 yyyyyてすと 4行目 xxxxyyてすとyy 5行目 てすとuuuu <== "てすと"を含む最後の行 6行目 zzyyvv 7行目 練習123
714 名前:デフォルトの名無しさん [2018/04/01(日) 15:47:44.82 ID:D0kqpvo1.net] >>684 その場合だと7行目を判断して"てすと"以外の文字列なので"てすと"を追記してください。
715 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:51:05.88 ID:IR/E13YL.net] >>684 君も読解力に問題あるぞw 途中の行は無視でしょ、「"てすと"を含む最後の行」なんて君しか言ってない 5行目はそのままで、8行目に"てすと"が加わるんでしょ
716 名前:639 [2018/04/01(日) 15:52:48.10 ID:y3W5ZkrO.net] >>685 追記とは 8行目に"てすと"という文字列の1行ができるでよろしいですか?
717 名前:デフォルトの名無しさん [2018/04/01(日) 15:53:31.12 ID:D0kqpvo1.net] >>687 はいその認識で間違いありません
718 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 16:00:22.19 ID:mWcRMyuA.net] はっきり言って>>665 が非常に分かりづらい "最後"って表現は何とかしてくれ
719 名前:デフォルトの名無しさん [2018/04/01(日) 16:05:52.05 ID:QUrQa6Zt.net] >>689 語彙が足らなくてごめんなさい。 最後っていうのをなんて伝えていいのかよくわからなかった 最終行っていうのも違うし、最後の文字列が入ってる行って言えばよかったんかな…
720 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 16:08:07.63 ID:mWcRMyuA.net] >>690 >>649 の表記はどう?
721 名前:デフォルトの名無しさん [2018/04/01(日) 16:11:53.66 ID:QUrQa6Zt.net] >>691 空行っていうのもなんか曖昧というか例えばスペース一個あって改行したらそれも空行だし
722 名前:639 [2018/04/01(日) 16:21:25.05 ID:y3W5ZkrO.net] >>692 それははっきりした方がいいと思うよ。 一番最後の行が、スペースとしたとき スペースとは、空白文字がありうるのか、nullなのかなど。
723 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:51:38.49 ID:ih9TVGcf.net] >>688 ところであっちのスレと同一人物? BATでも解決してたはずだけど、なんでまた同じ質問をこっちに?
724 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 01:08:53.03 ID:4AdYvMWY.net] 仕様があいまい 最後と言う言葉があいまい。 全体の文章の最後なのか、最終行を指すのか、どちらか分からないから 最終行だけがチェック対象なのか? それとも、最終行以外も対象になるのか?
725 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 01:16:27.17 ID:4AdYvMWY.net] >>632 >最終行が"てすと"じゃなかった場合は、"てすと"を追記したいです これも、最終行が改行で終わっている場合と、終わっていない場合で、動作が変わる abc\n → abc\nテスト abc → abcテスト 上は、最終行の次の行に追加されるけど、 下は、最終行に追加される
726 名前:デフォルトの名無しさん [2018/04/02(月) 10:47:05.22 ID:qOetNhN3.net] $path = "Documents\hoge.txt" $text = "てすと" $file = @(Get-Content $path) for($i = $file.count; $i -ge 0; $i--) { if($file[$i] -match "^\s*$") { continue } if($file[$i] -match ".*$($text).*") { $file[$i] = $text } else { $file[$i] += "`n" + $text } break } $file | Out-File $path Powershell勉強中なんだけどこんな感じ?
727 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:17:36.79 ID:hxQiBYMY.net] 正直今のところ頂いた回答の中では>>658 さんの回答が模範解答でした。
728 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:22:46.38 ID:hxQiBYMY.net] >>697 いいですね!!!
729 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:50:24.39 ID:M5QFId2x.net] >>698 良いんだけど、>>658 は>>681 で言う三番目で、希望は一番目らしいから、あと一工夫だね 正直もう飽きたから他の人がんばって
730 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:56:01.83 ID:M5QFId2x.net] >>697 でいいやん 自分の趣味じゃないから読みにくいけど、条件は満たしてる
731 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 06:46:32.07 ID:lsq7GlrL.net] PSはマルチスレッド気軽に使えないの? ググるとリモート、マルチプロセスとRunspaceのサンプルばっかり出てくるんだが 2.0だとTaskも無いからキビシイのかね
732 名前:デフォルトの名無しさん [2018/04/06(金) 09:32:58.70 ID:j6pN+emA.net] >>702 つかえるんじゃない? どんな処理をしたいということなの。
733 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 08:02:18.06 ID:qEuioEYI.net] いやーなんかねHttpListenerのBeginGetContextでクラッシュするんです マルチスレッド対応してないのかなと
734 名前:デフォルトの名無しさん [2018/04/07(土) 17:09:59.62 ID:q5Iu4RDV.net] マルチスレッドというより(マルチスレッドだけど) それが非同期に対応しているかという話ね。
735 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 21:26:24.68 ID:qEuioEYI.net] 原因わかった 別スレッドだとrunspaceが無いからpowershellコードが動かんのだとさ
736 名前:デフォルトの名無しさん [2018/04/07(土) 21:35:48.91 ID:aBoyVqLJ.net] こんな記事あるけど使える? RunspacePoolを使って、PowerShellを非同期実行 https://www.gmo.jp/report/single/?art_id=195
737 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 23:31:41.22 ID:qEuioEYI.net] >>707 今日はそれを調べてた GetContext使ってメインスレッドで同期的にコンテキストを受けて ルーティング処理〜レスポンス閉じるまでをrunspaceでOneWay非同期処理するといい感じで動作してるっぽい
738 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 08:09:34.07 ID:kKNIjb5q.net] >>279 こいつアホすぎてムカつく わからんなら黙ってろかす!
739 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 10:30:51.82 ID:H/AU6k7y.net] どんだけロングパスなんだよ w
740 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 16:41:59.07 ID:T8IjF/fs.net] TrustedInstallerのままなのはOS不具合かな 最近こういうの放置でアップグレードしてくから困る
741 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 00:02:08.86 ID:H5AR7ZMg.net] 聞いてくれやおじさん UIautomationとやらを探して2日たらし回しにされた psのgui自動化ツールはこれでええのか
742 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 08:13:52.50 ID:Fo+ItQuC.net] 確かに探すの難しくなってるな UI Automation PowerShell ExtensionsのDownload(再配布) ttps://www.code-lab.net/?p
743 名前:age_id=21648 [] [ここ壊れてます]
744 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:30:36.66 ID:nUgTWhrN.net] 更新されてないってことは失敗なのか
745 名前:デフォルトの名無しさん [2018/05/05(土) 08:53:20.47 ID:GHjIUW8T.net] UIautomationって旧来技術ってことでWin10では あらたなことは行わないんじゃないのかな。 たしかGUIがWPFだよね。
746 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 04:43:48.03 ID:EuvUccmD.net] ISE VSCode Visual Studio 2017 でPowerShell開発やってみたけど一番快適にDebugできるのはVSCodeだった
747 名前:デフォルトの名無しさん [2018/05/10(木) 12:17:12.51 ID:p0Nf4Eeh.net] 実行ポリシーを変更をBypassに変更してるんだが .ps1ファイルを実行しようとすると1日1回くらい(その日の最初?)は以下の文章が出る 出なくする方法ありますか? 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): ちなみにGet-ExecutionPolicyすると ちゃんとBypassと表示される
748 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 21:32:31.45 ID:RfBSBg1R.net] コンテキストメニューから実行してるなら、関連付け設定が "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'" になってるから、Set-ExecutionPolicy -Scope Process Bypass を実行するところでそれが出るんだと思う 関連付け設定を変えれば出てこなくなるよ
749 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 22:47:10.05 ID:p0Nf4Eeh.net] ありがとう "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "%1"に変えてみた ついでにダブルクリックだけで実行できるように変えたら便利になった
750 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 08:17:44.44 ID:fJ1IdiGY.net] csvの中に時間とデータの2列あって、それの直線近似した切片を取りたいんだけどアルゴリズム組まないとだめ? なおエクセルは入ってないパソコンで使いたい。
751 名前:デフォルトの名無しさん [2018/05/23(水) 12:32:03.51 ID:p1Tm41m3.net] pythonでpandas+leastsquare
752 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 16:20:34.21 ID:xYq3JC1R.net] >>720 単に公式に当てはめればいい $data = import-csv "csvのパス" -Header X,Y $meanX = $data.X | measure -Average | select -expand Average $meanY = $data.Y | measure -Average | select -expand Average $sd = $data | foreach { ($_.X - $meanX) * ($_.X - $meanX) } | measure -Average | select -expand Average $cd = $data | foreach { ($_.X - $meanX) * ($_.Y - $meanY) } | measure -Average | select -expand Average $slope = $cd / $sd $meanY - $slope * $meanX
753 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 17:50:18.83 ID:nRn5Zijg.net] >>720 Accord.Net使えばいいよ それか今ならML.NETが良いのかね?
754 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 18:35:19.02 ID:V6P0Rj+x.net] >>722 ありがとうございます。簡潔に書かれていてすごい。 >>721 pythonでも出来るのですが、エクセル含めソフトインストールできないPCでの運用なので
755 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 19:04:26.17 ID:zdZwe3wq.net] そんな環境でなぜ線形回帰分析を?
756 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 19:19:58.76 ID:PUSKgIep.net] エクセルも使えない環境で
757 名前:データ分析なんて とんでもなく非効率だな 現実にはよくありそうな話だけど [] [ここ壊れてます]
758 名前:デフォルトの名無しさん [2018/05/23(水) 19:26:40.12 ID:Au5e7VGg.net] 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 GWRI8
759 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 07:56:41.44 ID:zQgi4Vqc.net] >>726 装置とそれを制御するソフトウェアが入った専用PCが連動して動く仕組みのシステムで、そのPCのデータをその中で処理したいと思ってて。 大型の装置で、もし誤作動を起こしたら火災や死亡事故もあり得るのでソフト導入は難しい状況。エクセルくらいは問題ないと思うんだけど、許可下りず。
760 名前:デフォルトの名無しさん [2018/05/24(木) 09:57:30.14 ID:fftgGS82.net] 人命にかかわるならPowerShellでもだめだろ
761 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 12:22:12.99 ID:6ROz+TzN.net] 線形回帰分析のためだけにエクセルを導入しようとする高レベルVBAエンジニアさん命を握られてしまった従業員さん
762 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 13:10:55.11 ID:dChwsR57.net] >>730 日本語で
763 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:11:34.30 ID:CzEEKu6Z.net] 今回だけじゃなくて別のデータ分析する 機会も出てくるかもしれないだろ エクセルに限らずソフトがインストールできないんじゃ いろいろ車輪の再発明することになりそう
764 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:17:30.66 ID:5HLXkVSJ.net] そういう機会がなんども出てきてから検討すればいいよ まあそうなったらエクセルじゃなくてデータ解析に適したツールを導入するべきだろうけどね VBAerさんはとにかくVBAを使いたいって目的が先行するから困る
765 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:47:46.05 ID:5HLXkVSJ.net] なんでもかんでも再発明が悪という風潮はよろしくない 少量の些細な再発明を避けるために大規模なソリューションを導入すると そのソリューションの管理コストや障害リスクの方が高くなってしまう
766 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:52:23.87 ID:YkaVpFZu.net] なんで制御PCと同じのでやろうとしてるのか? そもそもwi
767 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 19:37:16.12 ID:8RmhyhjF.net] そういう設定なんだなというのは皆わかった上でディスカッションしてる なので野暮なツッコミは無しにしようや
768 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 19:58:22.10 ID:HJmOkmLD.net] 勉強とは再発明することだと思うんがなあ
769 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 21:09:40.32 ID:zQgi4Vqc.net] >>735 今はデータをUSBで他のPCに移してから処理してる。 制御PCでやりたい理由は、USBはパスワード付きっていうのもあって面倒で、しかも常に最新の情報を求められるため日に数回USBで出し入れすることになるのでより面倒。 それが毎日となるとめちゃくちゃ面倒。 ということで不慣れなpowershell でやろうとした次第です。
770 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:23:06.92 ID:A0AqRoYu.net] 別PCでC#の解析用アセンブリ作ってPowerShellから呼び出したらいいんじゃないの
771 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:34:04.69 ID:JOD0E1R+.net] ネットも禁止な所?
772 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:42:20.58 ID:OVWSg8Eh.net] オフラインです。C♯は難しそうなので。 すみません、私事を語り過ぎました。元の話題に戻ってどうぞ
773 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:53:30.12 ID:6yspu/tD.net] 死亡事故が起こるようなマシンだろ 俺なら通常はネットから切り離しとくわ
774 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 02:05:25.85 ID:gztHcn54.net] >>7
775 名前:42 オフラインって書いてますやん [] [ここ壊れてます]
776 名前:デフォルトの名無しさん [2018/05/25(金) 03:37:02.75 ID:JRXZZDGl.net] 会話がかみ合ってないな 頭悪そう
777 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 03:58:22.29 ID:cDmsKy0H.net] いや現実の問題設定は良い刺激になったよ そういうのないと同じ話題がループしちゃうし
778 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 06:29:46.18 ID:zDcEhAN3.net] そのPCで処理しても結局USBで持っていかないと駄目なんじゃ
779 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 18:35:06.63 ID:2fyQupuv.net] AddTypeでNuGet Packageを参照に追加できれば便利だと思うんだがなぜないんだろ いちいちpackageダウンロードしてzip解答してdll探してAddTypeするの面倒くさい AddType -PackageSource https://api.nuget.org/v3/index.json -PackageName Oracle.ManagedDataAccess -Version 12.2.1100 $connection = New-Object -TypeName Oracle.ManagedDataAccess.Client.OracleConnection こんなんできたら絶対便利だろ
780 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 01:15:09.38 ID:ek08JVnr.net] そういうコマンドレットを作ればいいんじゃないの
781 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:22:45.07 ID:FRc1Igvs.net] こういうのは末端のユーザーじゃなくMicrosoftが責任持って整備すべき仕事だよなぁ
782 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:32:40.51 ID:uKjxyzN7.net] >>747 Visual Studioだと全部やってくれるのにな
783 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:54:12.69 ID:kiqwqKPT.net] https://www.powershellgallery.com/items?q=nuget&x=0&y=0 この中にお望みの物ないの? 俺は調べてないけど
784 名前:デフォルトの名無しさん mailto:sage [2018/05/28(月) 20:48:57.60 ID:ANh8mcyB.net] csv読み込みのときに、♯が入ってる行が消えるのですが回避方法あるでしょうか? バージョンは2のため、cat|convertfrom- csv を使っています。
785 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 10:01:43.76 ID:JWI1PS/k.net] cat|♯を消す処理|convertfrom- csv
786 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 13:59:12.26 ID:/wWb7+KW.net] 半角井桁でも全角井桁でもなくシャープがダメ文字ってことなら、いわゆる機種依存文字に対して内部的に文字化けしてるのかね Get-Contentの-Encodingパラメーターを変えて試行錯誤してみるのはどうだろ
787 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 20:04:16.63 ID:uVfBdj0+.net] >>753 おっしゃる通りcat時点ではシャープのある行も問題なく表示されていたのでそこでシャープを適当な文字列に置換する事で回避出来ました。 なお文字化け等では無かったためencodingは関係ありませんでしたが、お二方ともアドバイスしていただきありがとうございました。
788 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:24:14.97 ID:NIS7bYGB.net] csvでシャープで始まる行はコメントとみなされる
789 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:48:09.49 ID:JDVJC7kx.net] C#をAddTypeする#だけに
790 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 22:37:29.79 ID:DjF05HP4.net] >>756 そんな仕様初めて聞いた Excelは#で始まる行も読み込むよ
791 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 23:17:16.03 ID:uVfBdj0+.net] >>756 そういう仕様なんだね。 プログラム内じゃないんだから勝手にコメントアウトしないで欲しい
792 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 01:59:47.06 ID:yjZg0US2.net] RFCではCSVのコメントなんて定義されてないんだがな #がコメントとか方言です
793 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 07:47:42.04 ID:fRdW4Y4e.net] 「♯を含む行」が消えるって言ってるんだから、実は「#で始まる行」が消えてた、なんてことは流石にないでしょう
794 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 08:14:02.91 ID:fRdW4Y4e.net] と思って検証したらマジじゃねーかバーロー v2では使えないけどcat -raw|convertfrom-csvなら無視されな
795 名前:ュなるから、#がCSVコメントとして無視されてるのではなくて、#をコメント行相当のオブジェクトとして返しているGet-Content側がタチ悪いという話じゃないだろうか [] [ここ壊れてます]
796 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 10:30:58.30 ID:962OkqnQ.net] " で囲んだら大丈夫とか?
797 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 22:12:34.15 ID:8qi2Khqy.net] PCに入ってるPowerShellのバージョンを簡単に切り替える方法はないのでしょうか? 作成したスクリプトがバージョン2でも3でも動くか等の検証を行いたいのですが?
798 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 22:36:17.40 ID:JXGp/YkD.net] 旧バージョン互換で動かすオプションあった気がする
799 名前:デフォルトの名無しさん [2018/05/31(木) 17:20:46.88 ID:ZTEAvdsG.net] そのCSV は各列を、" " で囲んでないのか?
800 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 21:31:21.76 ID:3wC9yI4G.net] Windows PowerShell 2.0 エンジンの開始 https://docs.microsoft.com/ja-jp/powershell/scripting/setup/starting-the-windows-powershell-2.0-engine
801 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 19:12:06.06 ID:j/MM0qyt.net] ISEがインテリセンス使ったら落ちてたのが KB4100403で修正されたらしい(未確認)
802 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 18:18:51.32 ID:duSCMV5/.net] エクセルに書き込む時、例えば for(i=1; -le 1000;i++){ sheet.cells.item(i,1)=i*5 } こんな感じにすると非常に動作が遅いのですがもっと高速にする方法はあるでしょうか。 なおvbaでは、 for i=1 to 1000 arr(i,1)=i*5 next と配列に入れておいてから、 oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(UBound(arr, 1), UBound(arr, 2))) = arr と一括で書き込むと速いのですが、PSでもこのような書き方はあるでしょうか。
803 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 19:50:56.49 ID:gQR1ea5z.net] >>769 速いかは知らんけどそれと同じようにするならこんな感じかね $n = 1000 $arr = New-Object "object[,]" $n,1 1..$n | foreach { $arr[($_-1),0] = [int]$_*5 } $sheet.Range($sheet.Cells.Item(1, 1), $sheet.Cells.Item($n, 1)) = $arr
804 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 23:24:00.90 ID:OF0qTMZ9.net] >>770 ありがとうございます。多次元配列を使えばよいのですね。 webで調べると多次元配列と多段階配列(ジャグ配列)がごっちゃになってるサイトもあって混乱していましたが、770さんの簡潔な記述をみて理解出来ました。
805 名前:デフォルトの名無しさん mailto:sage [2018/06/06(水) 23:07:10.85 ID:N8yiaTQz.net] gradle的なタスクランナーDSLは無いの?
806 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 16:51:36.72 ID:XSSJlv/Q.net] PowershellからExcelのユーザフォーム(コマンドボタン)を非表示かクリックできないようにしたいのですが、いくつか試してもうまく設定できませんでした。 ご存知の方がいたら、ご教示いただければ。
807 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 17:03:33.87 ID:Tjb3C0On.net] 試したコードを晒せば修正してあげるよ^^
808 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 18:02:05.59 ID:54mp5fzV.net] >>773 別のインスタンスからフォームを操作するってこと? 参考にVBAだとどうやるの?
809 名前:773 [2018/06/11(月) 12:16:46.97 ID:vpJG/a5Y.net] 以下で動くことは確認しましたが、できたらPowershellだけで完結したいです。 $excel = New-Object -ComObject Excel.Application; $book = $excel.Workbooks.Open('〜ファイル名〜'); $num1 = $excel.Worksheets.count ; $array = @() ; for ( $i1 = 1 ; $i1 -le $num1 ; $i1++ ){ ; if ( $excel.Worksheets.Item($i1).name.substring( 0, 4 ) -eq 'xxx_' ) { ; $array += $excel.Worksheets.Item($i1).name ; } ; } ; for( $i2=0; $i2 -lt $array.count; $i2++){ ; $shtname = $array[$array.count-$i2-1] ; $MDB_index = $excel.Worksheets.Item('MDB').index ; $excel.Worksheets.Item($shtname).move( $excel.Worksheets.Item( $MDB_index ) ) ; $excel.Worksheets.Item('MDB').move( $excel.Worksheets.Item( $shtname ) ) ; $excel.Worksheets.Item($shtname).name = 'yy_' + $shtname.substring( 4, $shtname.length - 4 ) ; } ; $excel.run("Unable")
810 名前:773 [2018/06/11(月) 12:17:21.17 ID:vpJG/a5Y.net] * VBAのUnableの中身 ; Sub Unable() Dim SHTNAME As String Dim NUMBER As Integer Dim I1 As Integer NUMBER = ThisWorkbook.Worksheets.Count For I1 = 1 To NUMBER SHTNAME = ThisWorkbook.Worksheets(I1).Name If Mid(SHTNAME, 1, 3) = "yy_" Then ThisWorkbook.Worksheets(I1).CBT1.Enabled = False End If Next End Sub