VB以前こちら(https://teratail.com/questions/130643)で質問したことと同じこと(numpyではないですが)をC言語で実装したいです。
hayataka2049さんが提案して頂いた方法を使用したいのですが、CにはあまりPythonのように配列を扱える関数等がなく困っています。
具体的には下記コードの
tmp = tmp[tmp[:,i] == eqv]
の部分をCでどう実装すればいいのかを教えて頂きたいです。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
VBA
1'※FSOを使うので「Microsoft Scripting Runtime」を参照設定すること 2Private Sub CommandButton1_Click() 3 Dim objFSO As FileSystemObject 4 Dim d As Variant 5 Dim f As File 6 Const sPathA As String = "C:\" 7 Const sPathB As String = "D:\" 8 9 Set objFSO = New FileSystemObject 10 11 Stop 12 For Each d In Array(sPathA, sPathB) 13 For Each f In objFSO.GetFolder(d).Files 14 If objFSO.GetExtensionName(f) = "xlsx" Then 15 On Error Resume Next 16 With Workbooks.Open(f) 17 .PrintOut 18 .Close False 19 End With 20 On Error GoTo 0 21 End If 22 Next 23 Next 24End Sub
「VBAでaフォルダのExcelとbフォルダのExcelを一括で印刷するマクロを作りたい」
ということなので、
「既定のフォルダ内(2つ指定)の中のエクセルファイルを問答無用で全部印刷する」ように
書いてみましたが、一旦どこかにファイル名を表示して、印刷するか否かを選択するようにしたいのですか?
投稿2018/06/11 01:15
総合スコア2136
0
「複数選択」とするなら、大きく2種類でしょうね。
1.複数の選択ボックスを作る
2.ダイアログで複数選択を許可する
1は想像しやすいですが、何個も作るのであれば実用的ではないでしょうねぇ
2は「Application.FileDialog(msoFileDialogFilePicker)」で、
「AllowMultiSelect」プロパティを TRUE にすることで許可できます。
※その際の、拡張子等のフィルタや、複数ファイルを取得する方法は自分で調べてください。
また、複数選択されたブックの、名前とパスを保持する必要がありますが、
その場合は、ListBox や ListView(32bit版Officeのみ) を使う事が多いでしょうね。
ListView は使い勝手はいいけど、難易度が高いので、ListBox の方を使ってみては。
投稿2018/06/07 01:09
総合スコア1175
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
かなり質問や用語が曖昧で解答がついておりませんので、
ちょっとエスパーしつつ解答と質問を入れさせていただきます。
まず…「Excelを一括で印刷」というのはブックと言う認識でよろしいでしょうか?
ブックは印刷できないのでそのブックの特定のワークシートでしょうかすべてのシートでしょうか?
aフォルダとbフォルダの2つがあるのはaに対応するファイルがbにある、などと言った状況でしょうか?
それとも単に選択対象が2つのフォルダにまたがっているだけでしょうか?
とりあえずそれっぽい要件でコードを書きますと、
GetOpenFilenameのMultiSelectをtrueにして、Ctrlキーを押しながら複数ファイルを選択し、
下記のコードのようにすることで複数ファイルへ順次処理が可能です。
フォルダaとb両方から選ぶ必要があるのであればGetOpenFilenameを2度実行するとよいでしょう。
vba
1filepath = Application.GetOpenFilename(MultiSelect:=True) 2If IsArray(filepath) = True Then 3 For Each itm In filepath 4 ~ここにファイルを開き印刷する処理~ 5 Next itm 6End If
ファイルを開き全シートを印刷する処理は下記です
vba
1Set procworkbook = Workbooks.Open(itm) 2sheetscnt = procworkbook.Worksheets.Count 3For i = 1 To sheetscnt 4 procworkbook.Worksheets(i).PrintOut 5Next i 6procworkbook.Close
「そうじゃなくて!」という場合は追記をどうぞ。
投稿2018/06/06 10:34
総合スコア456
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
関連した質問
IIS 「管理サービスの委任」が開けない
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。