検索結果
配列初期化
- 全てのカテゴリ
- 全ての質問
- vbs csv 編集
vbsを実行し下記のようにcsvを編集することは可能でしょうか。 ドラッグアンドロップでvbsを実行することとします。 <実行前> A列 B列 C列 名前 性別 出身地 田中 男 北海道 佐藤 女 沖縄 伊藤 女 東京 桜井 男 東京 <実行後> A列 B列 C列 D列 E列 田中 男 北海道 000001 学生 佐藤 女 沖縄 000002 学生 伊藤 女 東京 100000 社会人 桜井 男 東京 100001 社会人 編集箇所としては、 ・一行目を削除し、二行目を先頭にする。 ・D列には000001~999999まで連番で値を追加 ・E列には、D列の値が「~99999」の場合は、学生。 それ以上は、社会人と記載するようにする。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- tyarutiru
- 回答数4
- フォルダの条件付き世代管理(ローテーション)
VBSの質問です。 ■やりたいこと 1)設定ファイルを読み込んで、バックアップするフォルダの世代数(2世代分)と、フォルダ名を取得する。 2)対象フォルダ内にある任意2文字のサブフォルダがあることを確認し、作成日付でソート(古い順)する。 3)直近の新しい任意2文字のサブフォルダを2世代分を残して、3世代以降は削除する。 VBS自体が初心者でサイトなどで勉強しておりましたが、結局実装できませんでした。 上記につきまして、どのように実装すれば良いかお分かりの方がいらっしゃいましたら、 ご教授いただけますと幸いです。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- hitandaway18
- 回答数2
- 複数ブックの特定セル列を新しいブックへ集約したい
お願い致します。 下記の操作をVBAで行いたいと思っています。 下記画像サンプルにあるように、複数ブック(同じ階層)に同じ配列のデータがあります。 こちらの、黄色く色付けしている(実際は色付けされていません)複数列を新たなブックの1シートへ抽出したいと考えています。 列のデータ量は、各ブックごとに違っていますので、11列のデータを基準に抽出できればと思います。 複数シートを1つのシートに纏めCSVで出力するとこまではVBAで出来たのですが、 複数ブックのシート指定列を抽出して1つの違うブックへ纏めることが出来ないでいます。 どうぞご教授よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- ken810_gc10
- 回答数4
- c言語プログラミングの質問です。
整数NとN個の整数を受け取り,受け取ったN個の整数のうち最大のものを表示するプログラムを記述せよ. ただし,N>0とする. 入出力例 入力 ⇒ 出力 3 2 1 8 ⇒ 8 5 13 14 11 12 15 ⇒ 15 2 -1 -2 ⇒ -1 という問題です。「3つの数の中から~」という場合はそれぞれa,b,cとおいて比較できるのですが、この問題のような場合はどうすればいいですか。
- VBA 変数の受け渡し
エクセルVBAで標準モジュール内でインプットボックスに入力した変数をユーザーフォームに受け渡してユーザーフォーム内のリストボックスに表示させる場合どのように変数の受け渡しを行えばよいか教えてください。 現在は、一度ワークシートの任意のセルに値を書き出し、その後ユーザーフォームのイニシャライズで先ほどのセルから値を受け取るようにしています。 標準モジュールではインプットボックス入力後「UserForm1.Show」でユーザーフォームの立ち上げを行っています。
- ベストアンサー
- Visual Basic
- homma
- 回答数2
- VBAの配列について
初めまして、VBAの配列の入力方法について質問させてください。 大量のデータの処理を高速化するため、配列を使用して以下のVBAを入力しました。 インターネットで調べ、見よう見まねで入力してみたものです…(T_T) 内容は、シート「資料」のC列とシート「Sheet1」のG列の文字列が同じ かつ、シート「資料」のL列から最終列(そのときによって変化します) とシート「Sheet1」のE列の文字列が同じ場合、 シート「資料」のA列~D列及びL列から最終列で文字列の一致したセルを 着色するというものです。 変数「アイス」と「チョコ」にそれぞれシート「資料」のデータと シート「Sheet1」のデータを格納したつもりなのですが、 実行したところ「配列がありません。」というエラーメッセージが 表示されました。 どうやらデータを配列として格納できていないときに表示される エラーメッセージのようなのですが、変数の型を変更してみたり、 配列をアイス(2)にしてみたりと、色々方法を変えて試してみたものの、 処理は成功しませんでした(T_T) 一体何が原因で処理が成功しないのか、どなたかご教授いただけると とても嬉しいです…!よろしくお願いいたします。 ちなみに、配列を使用しない場合の処理は、時間が15分ほどと かなりかかりますが、成功しています。 Application.ScreenUpdating = True Dim アイス, チョコ As Long Dim i As Integer, j As Integer, k As Integer アイス = Sheets("資料").Cells(Rows.Count, 1).End(xlUp).Row チョコ = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row For i = 3 To Sheets("資料").Cells(Rows.Count, 1).End(xlUp).Row For j = 12 To Sheets("資料").Cells(i, 12).End(xlToRight).Column For k = 2 To Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row If アイス(i, 3).Value = チョコ(k, 7).Value And アイス(i, j).Value = チョコ(k, 5).Value Then Sheets("資料").Range("A" & i & ":D" & i).Interior.ColorIndex = 22 アイス(i, j).Interior.ColorIndex = 22 End If Next k Next j Next i
- ベストアンサー
- Excel(エクセル)
- osashi
- 回答数6
- JavascriptからSQLへ繋ぎ方が分からない
archive.phpに信号を渡すのに$配列を渡して表示させることは可能でしょうか? Ajaxでphp側のMySQLを呼び出すのは難しそうなため懸念しております。 ※参考サイト https://blog.ver001.com/javascript-select-onchange-display-none/ ※該当ファイル(strorage.phpはcronです。) https://wandbox.org/permlink/fhJ2DJMkP50tbNRn <div class="selectbox"> <select name="top"> <option value="">年を選択</option> <option value="op-a">2021</option> <option value="op-b">2022</option> </select> <select name="op-a"> <option value="">2021グループから選択</option> <option value="op-a-1">1</option> <option value="op-a-2">2</option> <option value="op-a-3">3</option> <option value="op-a-4">4</option> <option value="op-a-5">5</option> <option value="op-a-6">6</option> <option value="op-a-7">7</option> <option value="op-a-8">8</option> <option value="op-a-9">9</option> <option value="op-a-10">10</option> <option value="op-a-11">11</option> <option value="op-a-12">12</option> </select> <select name="op-b"> <option value="">2022グループから選択</option> <option value="op-a-1-1">1</option> <option value="op-a-1-2">2</option> <option value="op-a-1-3">3</option> <option value="op-a-1-4">4</option> <option value="op-a-1-5">5</option> <option value="op-a-1-6">6</option> <option value="op-a-1-7">7</option> <option value="op-a-1-8">8</option> <option value="op-a-1-9">9</option> <option value="op-a-1-10">10</option> <option value="op-a-1-11">11</option> <option value="op-a-1-12">12</option> </select> <style> .selectbox select:not(select[name=top]) { display:none; } </style> <script> window.addEventListener('load', function () { //onchangeイベントの設定 document.querySelectorAll('.selectbox select').forEach(elm => { elm.onchange = function () { let elm2 = document.getElementsByName(this.value)[0]; if (elm2) { elm.style.display = 'none'; elm2.style.display = 'block'; } } }); </script>
- ベストアンサー
- JavaScript
- php_learn
- 回答数23
- WordPressの質問(q10279843)の続
カラム名 question を text にしたい場合下記コードを変更しても良いでしょうか? bbs_quest_input.php の101行目 name="question" bbs_quest_input.php の214行目 var question_value = ""; bbs_quest_input.php の335行目 if (!['name', 'title', 'question'].includes(e.target.id)) return; bbs_quest_input.php の364行目 question_value = ""; bbs_quest_input.php の390行目 question_value = json.question; ※最新コード https://wandbox.org/permlink/PjhrH75IR9jUMnpL
- WordPressの質問(q10306916)の続
質問画面の確認画面のCSS をチェックしているのですが、確認画面の title-partial-parts にのみ margin-top: 25px; を適応させる方法が分かりません。 質問画面は div id="input_area" 回答画面は div id="confirm_area" を親クラスとして CSS を分けたい場合、どのように書けばよいか分かりますでしょうか? 下記コードで試してみたのですが効かず悩んでおります… div#confirm_area.text-partial-parts { margin - top: 25px; } ※ 最新コード https://github.com/i6Grja3R/sample_theme.git
- PHPへチェックボックスの値の渡し方
御世話になります。 PHPとMySQL(サーバーサイド)とJavascript(クライアントサイド)を使って、会社で製造している各製品の構成部品と数を表すBOM(Bill Of Material)のデータベースを作っています。 Javascriptで動的に生成したチェックボックスの、チェックされた状態をPHPに渡そうとしていますが、上手く行きません。 どなたか、詳しい方のお知恵を拝借できれば有難いと思っております。 今作成中のプログラムは結構長いものなので全部をここにコピーしてくるわけには行きませんが、要点は次の様なものです。 1:クライアントサイドで製品の識別用番号と改訂版番号を入力して、AJAXを使って該当する製品の構成部品とオプション、およびそれぞれの必要数量をサーバーに要求する 2:サイバーでは要求されたデータをデータベースから抽出して、JSON型式でクライアントに送る 3:クライアントは受け取ったデータから、まず複数あるオプションをチェックボックスで選択できるように、チェックボックス、各オプションの番号、その説明文を動的に生成する 4:更にクライアントは必要なオプションを示すチェックボックスにチェックマークを入れ(複数可能)、送信ボタンを押す 5:サーバーはPOSTで受け取った、チェックマークの付いたオプションと、その他の構成部品とそれぞれの数量をテーブル形式でスクリーンに表示する 大まかには以上のような流れになりますが、4:から5:へのチェックボックスの状態がどうしてもPHPに渡せません。 以下に、この問題に関係すると思われるソースコードをコピーします。 <script> function getData(){ var target = document.getElementById("options"); target.value=""; var num = document.getElementById("PN").value; // user input value var rev = document.getElementById("mySelect").value; // selected value document.getElementById("pRev").value=rev; var xmlhttp = new XMLHttpRequest(); // send partNumber + revision as one entity xmlhttp.open("GET", "JSON-TEST4.php?object=" + num + "&revision=" + rev , true); xmlhttp.send(); xmlhttp.onreadystatechange = function(){ //AJAX starts if(this.readyState == 4 && this.status == 200){ var object = JSON.parse(this.responseText); var optCount = object.optionCount; document.getElementById("partID").value= object.id; // hidden input element document.getElementById("optCount").value= optCount;// hidden input element document.getElementById("DS").innerHTML = object.description; // create checkboxes for selecting options for(var i=0; i<optCount; i++){ var checkbox = document.createElement("input"); // make checkbox checkbox.setAttribute("type", "checkbox"); checkbox.setAttribute("name", "check" + (i+1)); checkbox.setAttribute("value", "checked"); var inputPN = document.createElement("input"); // make input for option part number inputPN.setAttribute("type", "text"); inputPN.setAttribute("name", "pn" + (i+1)); inputPN.setAttribute("value", object.optPN[i]); var inputDS= document.createElement("input");// make input for option description inputDS.setAttribute("type", "text"); inputDS.setAttribute("name", "ds" + (i+1)); inputDS.setAttribute("value", object.optDS[i]); inputDS.setAttribute("size", "80"); var br = document.createElement("br"); // paste newly created HTML tags inside <td> with id="options" //target = document.getElementById("options"); target.appendChild(checkbox); target.appendChild(inputPN); target.appendChild(inputDS); target.appendChild(br); } }// if readyState }// AJAX function }// getData() </script> HTML の該当部分は <table class="queryTable"> <tr> <th class="pNum"> Input Part Number</th> <th class="pRev"> Select Revision </th> <th class="pDesc"> Description</th> <th class="pOpt"> Check Options</th> <th class="pAct"> Action </th> </tr> <tr> <td> <form id="myform1" method="POST" action="displayBOMlist.php" target="workspace" > <input type="text" name="instrumentPN" id="PN"><BR> <input type="button" value="show revisions" onclick="showRev()"> </td> <td> <div id="RV"></div> <button type="button" onclick="getData()">show detail</button> </td> <td id="DS"> </td> <td id="options"></td> <td > <input type="hidden" name="partID" id="partID" > <input type="hidden" name="pRev" id="pRev"> <input type="hidden" name="optCount" id="optCount"> <input type="submit" value="Display BOM"> </form> </td> </tr> </table> PHP側の該当部分は $options = array(); for($i= 0; $i < $optCount; $i++){ $checkNum="check".(string)($i+1); $checkPart="pn".(string)($i+1); if( isset($_POST[$checkNum]) ){ $options[]=$_POST[$checkPart]; echo "set part=".$_POST[$checkNum]."<BR>"; }
- ベストアンサー
- PHP
- papashiroSooke
- 回答数5
- Excel VBA
Excel VBAについて シート1にはデータが入ってます。 G列に日付、L列に商品名、N列に件数。 シート2には集計結果を入力したいです。 セルB2に、日付が10月1日から15日までで、商品名がAの件数の合計。 セルB3は、日付が10月16日から末日まで、セルB4は、日付が11月1日から15日までと半月毎に集計を半年後の末日まで繰返し、B2の数行下には、商品名Bの集計行を作り、その数行下には商品名Cの集計行を作りたいです。 これまでは関数SUMIFSで集計していましたが、複数店舗分のシートの更新・メンテナンスが大変なので、VBAでの集計を考えいろいろ調べてるのですが、方法が思い付かないので、ご教授ください。
- 締切済み
- Visual Basic
- archie007
- 回答数2
- pwshでArrayListの作り方について
PowershellでExcelに書き込むにはいろいろ方法がありますが、今回は、csvファイルをStreamReaderで読込みArrayListでデータとしそのデータをExport-ExcelでExcelに書き込む仕様についてです。残念なことに勉強がてら作った下記のコードでは、excelにスペース区切りのまま書き出されます。 # CSVファイルをExcelにインポートするスクリプト $fileName = "D:\test\pp010.csv" # CSV ファイルをオープンする $reader = New-Object System.IO.StreamReader($fileName, [System.Text.Encoding]::GetEncoding("utf-8")) $data = @() $data = New-Object System.Collections.ArrayList while ($reader.Peek() -ge 0) { $line = $reader.ReadLine() # 行ごとの処理を行う $fields = $line.Split(",") # 数値カラムの区切りが無くなり一体化するのを防止 $data.add("${fields}") } # 配列に変換・・今回は不用 #$str = $data.ToArray().Split("`t") $data | Export-Excel -Path "D:\test\AAA.xlsx" $reader.Close() これは StreamReaderで読込みArrayListでデータを作るところに問題があります $data = Import-Csv -Path $csvFilePath で読み込んだ場合は、問題なく書き込まれます。 ArrayListの使う方法は検索の仕方が下手なのかよく分からないの現状ですし使っていいものかも分かっていません。ただ、StreamReaderを使いExcelのセルに順次書き込む方法では処理時間が掛かること(前に質問しましたが解決に至りませんでした。)に対して短縮方法の手段として考えてみただけです。 解決の方法があればお教えください。
- 締切済み
- その他(プログラミング・開発)
- turu575
- 回答数1
- PwshでCSVをExcelに書き込む方法
前に何回かPowershellを使いCSVファイルをexcelの任意のセル位置から書き込む方法を質問しましたが、その過程で下記のコードをで試したところすこぶる処理時間が掛かる悪手となりました。最近まで私的に失敗作としていましたが何か間違った方法を取ったからではないかと思いたちました。しかしながらコピペでコードを書いて満足している素人では、間違いがあっても皆目見当もつきません。問題点ともし改善の余地があるならお教えください。 # CSVファイルをExcelにインポートするスクリプト $excel = New-Object -ComObject Excel.Application $excel.Visible = $true $book = $excel.Workbooks.Add() $sheet = $excel.Worksheets.Item(1) $fileName = "D:\test\pp001.csv" # CSV ファイルをオープンする $reader = New-Object System.IO.StreamReader($fileName, [System.Text.Encoding]::GetEncoding("utf-8")) $array_total = @() $array_total = New-Object System.Collections.ArrayList while ($reader.Peek() -ge 0) { $line = $reader.ReadLine() # 行ごとの処理を行う $array_total.add("$line") } <# セルへ配列で書き込み#> $c=($array_total[0] -split ",").Count $r=$array_total.Count $arw=New-Object "object[,]" $r,$c <# 書き込み用配列定義 $r行$c列 #> $a=@() foreach($inc in 0..($r-1)){ $cnt=0 $array_total[$inc] -split "," | % { $a +="`$arw[$inc,$cnt]=`"$($_)`"" $cnt++ } } $a | iex <# 範囲を指定してセット#> $sheet.Range("B2").Resize($r, $c) = $arw $reader.Close() # COM 参照を解放する [void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($sheet) [void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($book) [void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel) [GC]::Collect() 処理速度に関して他の方法では、私の環境で2列1,000,001行のデータで オブジェクトとして各行のデータをArrayListに追加とExport-Excelを使う方法で11から13分、QueryTableだと13~20秒、Import-Csvと配列で51~53秒、Import-CsvとExport-Excelでは47~51秒、本末転倒のArrayListで動的配列を作りExport-ExcelでExcelに一度データを書き込んでからそのファイルを開きtexttocolumnsで区切り位置指定の分割を実行させても30~50秒です。 因みに今回のコードの実行速度は、少ないデータでもAIの回答で不十分な結果となった質問(https://okwave.jp/qa/q10209583.html)の方法よりかなり遅くなって、最悪の結果でした。
- 締切済み
- その他(プログラミング・開発)
- turu575
- 回答数1
- HHKB STUDIOのコントロールキーの変更
コントロールキーをノートPCに近い配置に変更したいが、いろいろ調べてDIPスイッチを2にしたり、キーマップ変更ツールを用いて配列変更して書き込みしてみたが、変わらず。 購入初期は変更できていた記憶だが久しぶりに使ったら元に戻り、変えられなくなってしまった。何か要因は考えられますか?変更方法を教えていただけるとありがたいです。 ※OKWAVEより補足:「「ScanSnap/fiシリーズ/HHKB」商品について」についての質問です。
- 締切済み
- マウス・キーボード
- OKP-EABA4BDD
- 回答数1
