ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part59
https://mevius.5ch.net/test/read.cgi/tech/1549692750/
探検
Excel VBA 質問スレ Part60
■ このスレッドは過去ログ倉庫に格納されています
2019/03/16(土) 20:39:09.64ID:6HWXzj9o
672デフォルトの名無しさん
2019/04/14(日) 15:11:39.40ID:XgRuwrtZ VBAの情報量と言われても、EXCEL操作できればそれでいいんだからそれ以上何かいるんけ?
673デフォルトの名無しさん
2019/04/14(日) 20:42:13.83ID:ta3d6Ir8 単純なExcel操作の範疇ならそこそこ有能そうな人の記事もあるよね
能力の低い人ほどそれ以上のことをVBAでやろうとするからな
能力の低い人ほどそれ以上のことをVBAでやろうとするからな
674デフォルトの名無しさん
2019/04/15(月) 08:13:02.92ID:ZEg6Csuk VBAしか見ないから少ないと感じる。
普通のExcel操作なんて皆知ってることばかりだろう。
普通のExcel操作なんて皆知ってることばかりだろう。
675デフォルトの名無しさん
2019/04/15(月) 08:13:28.72ID:ZEg6Csuk VBAしか見ないから少ないと感じる。
普通のExcel操作なんて皆知ってることばかりだろう。
普通のExcel操作なんて皆知ってることばかりだろう。
676デフォルトの名無しさん
2019/04/15(月) 09:47:45.91ID:HgdD6hHz パワーポイントとワードは同じVBAでしょはよ作ってね
たかがvbaだし期間なんて要らないよねよろしくー
みたいなん多くてうげーてなる
たかがvbaだし期間なんて要らないよねよろしくー
みたいなん多くてうげーてなる
677デフォルトの名無しさん
2019/04/15(月) 11:01:10.68ID:OAOOS1Vr >>676
すまないが、日本語で書き直してくれ
すまないが、日本語で書き直してくれ
678デフォルトの名無しさん
2019/04/15(月) 11:24:35.03ID:K9PTdoK0 わかるけど...
679デフォルトの名無しさん
2019/04/15(月) 12:40:48.29ID:Es8LFln/680デフォルトの名無しさん
2019/04/15(月) 17:13:58.76ID:IzRYxIuW 恥を忍んできくが
WordのVBAって、なんか使い道あんの?
オレは全角半角統一とか
余白ほかレイアウト調整とか
定型文挿入とか
そんな簡単なのは自作して使ってるけど
「高度な使い方」ってのが思いつかない
文章中心のデータに
定型処理って需要があんのかね
WordのVBAって、なんか使い道あんの?
オレは全角半角統一とか
余白ほかレイアウト調整とか
定型文挿入とか
そんな簡単なのは自作して使ってるけど
「高度な使い方」ってのが思いつかない
文章中心のデータに
定型処理って需要があんのかね
681デフォルトの名無しさん
2019/04/15(月) 17:23:54.84ID:Es8LFln/ >>680
そんだけ活用できてれば十分じゃん
言語仕様を制限する方が余計な手間がかかるから、そのままなんでも使えるようにしてあるだけだろ
高度かどうかは置いといて、Word VBAの使いみちとしては、印刷物の寸法をちゃんと合わせたいとき
Word文書にVBAで罫線なりシェイプを書き込めばいいんじゃない?
そんだけ活用できてれば十分じゃん
言語仕様を制限する方が余計な手間がかかるから、そのままなんでも使えるようにしてあるだけだろ
高度かどうかは置いといて、Word VBAの使いみちとしては、印刷物の寸法をちゃんと合わせたいとき
Word文書にVBAで罫線なりシェイプを書き込めばいいんじゃない?
682デフォルトの名無しさん
2019/04/15(月) 17:36:56.85ID:OAOOS1Vr683デフォルトの名無しさん
2019/04/15(月) 17:41:14.99ID:UiI6zhV3684デフォルトの名無しさん
2019/04/15(月) 17:41:23.11ID:Es8LFln/ 【1 OSの種類 .】 Windows10 Pro 64bit
【2 Excelのバージョン 】 Excel 2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
Visual Studio Community 2019を入れたら、Excelの設定があちこち勝手に書き換わってしまいました
そのうちの一つとしてVBEでスニペットが表示されなくなったのですが、直し方を教えてください
【2 Excelのバージョン 】 Excel 2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
Visual Studio Community 2019を入れたら、Excelの設定があちこち勝手に書き換わってしまいました
そのうちの一つとしてVBEでスニペットが表示されなくなったのですが、直し方を教えてください
685デフォルトの名無しさん
2019/04/15(月) 17:49:48.06ID:RSa+mOrL >>680
スレタイ読めない馬鹿は死ね
スレタイ読めない馬鹿は死ね
686デフォルトの名無しさん
2019/04/15(月) 19:14:26.59ID:32DOVlq8 >>680
昔作って、超低頻度だが役に立ってるのが、Windows乗り換えたときに全フォントのサンプル表示と印刷。
各種プログラムソースに色付け、A3縦二段組印刷。(最近はイチから解析しなくなったな〜…)
昔作って、超低頻度だが役に立ってるのが、Windows乗り換えたときに全フォントのサンプル表示と印刷。
各種プログラムソースに色付け、A3縦二段組印刷。(最近はイチから解析しなくなったな〜…)
687デフォルトの名無しさん
2019/04/15(月) 19:20:00.80ID:+NR2IFvh >全フォントのサンプル表示と印刷。
これ面白いな
これ面白いな
688デフォルトの名無しさん
2019/04/15(月) 19:35:47.06ID:ZEg6Csuk >>680
ExcelVBAのソースコードを自動で色付けするのに使ってる。
ExcelVBAのソースコードを自動で色付けするのに使ってる。
689デフォルトの名無しさん
2019/04/15(月) 19:39:30.60ID:ZEg6Csuk >>686
VBAのキ−ワードの色付けは誰かがやってたからそれを貰って、コメントの色付けを追加して使ってる。
VBAのキ−ワードの色付けは誰かがやってたからそれを貰って、コメントの色付けを追加して使ってる。
690デフォルトの名無しさん
2019/04/15(月) 22:51:44.23ID:bKeRxbfM691デフォルトの名無しさん
2019/04/15(月) 23:20:36.68ID:cJmtAKHt692デフォルトの名無しさん
2019/04/15(月) 23:37:02.12ID:NJLxUmAX Word VBAでVisualStudio作ろうぜ!
693デフォルトの名無しさん
2019/04/16(火) 06:55:26.74ID:297VTHLy694デフォルトの名無しさん
2019/04/16(火) 07:45:09.88ID:BVl9qEwk WordのVBAはWord文書をgrepするときに使うくらい
695デフォルトの名無しさん
2019/04/16(火) 18:45:28.10ID:e8yfqTUa フォルダ内に存在するファイルが以下のように構成されています
2019-1-1
2019-1-2
2019-1-2修正1
2019-1-3
2019-1-4修正1
2019-1-4修正2
この時、それぞれの日のファイルのうち最も新しい物から値を吸い上げたいです
そこでまずはdir(ファイル1*)とdir()で更新日を比較、大きなものと次を比較...とやろうとしたのですがその場合日付が1桁表記であるため1-1と1-11の比較となり1-11が採用されてしまいます
この問題を解決するにはどのようなアプローチで行えばよろしいでしょうか?
なお、日付の次は必ずしも「修正」ではなく別のコメントの場合もあります
ヒントなど頂けますと幸いです
2019-1-1
2019-1-2
2019-1-2修正1
2019-1-3
2019-1-4修正1
2019-1-4修正2
この時、それぞれの日のファイルのうち最も新しい物から値を吸い上げたいです
そこでまずはdir(ファイル1*)とdir()で更新日を比較、大きなものと次を比較...とやろうとしたのですがその場合日付が1桁表記であるため1-1と1-11の比較となり1-11が採用されてしまいます
この問題を解決するにはどのようなアプローチで行えばよろしいでしょうか?
なお、日付の次は必ずしも「修正」ではなく別のコメントの場合もあります
ヒントなど頂けますと幸いです
696デフォルトの名無しさん
2019/04/16(火) 18:48:04.20ID:e8yfqTUa すみません訂正です
1-1と1-1*で比較をしようとすると、狙いとしては”1-1修正”がある場合その比較だったのですが1-1と1-11の比較、1-11と1-12の比較...1-19(あるいはその修正版)が選ばれてしまいます
1-1と1-1*で比較をしようとすると、狙いとしては”1-1修正”がある場合その比較だったのですが1-1と1-11の比較、1-11と1-12の比較...1-19(あるいはその修正版)が選ばれてしまいます
697デフォルトの名無しさん
2019/04/16(火) 19:02:23.87ID:g+D3y3HH698デフォルトの名無しさん
2019/04/16(火) 20:00:26.84ID:dymnkria699デフォルトの名無しさん
2019/04/16(火) 20:24:24.92ID:dymnkria すまん>>696読んでなかった
Dir("1-1*")で"1-1修正"も読み込まれるはず
ファイル名が"1-1 修正"になってるってことはないか?
それとDirはファイル名昇順で返すから比較せず最後に読み込んだファイル名を使えばいいと思う
Dir("1-1*")で"1-1修正"も読み込まれるはず
ファイル名が"1-1 修正"になってるってことはないか?
それとDirはファイル名昇順で返すから比較せず最後に読み込んだファイル名を使えばいいと思う
700デフォルトの名無しさん
2019/04/16(火) 20:48:56.77ID:akR/dKKk701デフォルトの名無しさん
2019/04/16(火) 20:53:51.23ID:g+D3y3HH 1-1修正
1-12回めの修正(「1-1 2回めの修正」のつもり)
ってパターンもあってもうこれ絶対にヤバイ処理
1-12回めの修正(「1-1 2回めの修正」のつもり)
ってパターンもあってもうこれ絶対にヤバイ処理
702デフォルトの名無しさん
2019/04/16(火) 21:09:05.64ID:dymnkria703デフォルトの名無しさん
2019/04/16(火) 21:16:48.22ID:nc1CJru4 postfix扱いの「コメント」に規則性がないのならそもそも最新版を特定する術がない
運用の方を変えるべきだろう
運用の方を変えるべきだろう
704デフォルトの名無しさん
2019/04/16(火) 21:43:33.41ID:g+D3y3HH 最新版以外はoldフォルダ作ってそこにほおりこんでおく
そうすれば超簡単に出来る
そうすれば超簡単に出来る
705デフォルトの名無しさん
2019/04/16(火) 22:27:43.62ID:XA2NKST4 >>それぞれの日のファイルのうち最も新しい物
新しいとする基準は何?
ファイル名で修正1修正2ってあったら修正2が最も新しい?
日付部分のyyyy-mm-dd(ただしmmとddは一桁もあり得る)が固定なら
毎回癖のあるdirとワイルドカードなんて使わないでファイルリストすべて取得してから処理したら?
新しいとする基準は何?
ファイル名で修正1修正2ってあったら修正2が最も新しい?
日付部分のyyyy-mm-dd(ただしmmとddは一桁もあり得る)が固定なら
毎回癖のあるdirとワイルドカードなんて使わないでファイルリストすべて取得してから処理したら?
706デフォルトの名無しさん
2019/04/17(水) 05:30:44.38ID:pTGno1t2 新たにVBAライブラリを作ったりする人が全く出ないのが取り残された言語の欠点
他の言語は次から次へとライブラリが追加されてより便利に快適にそして簡単になるのに
終わってるVBAには将来性も可能性もないから仕方ないけどね
他の言語は次から次へとライブラリが追加されてより便利に快適にそして簡単になるのに
終わってるVBAには将来性も可能性もないから仕方ないけどね
707デフォルトの名無しさん
2019/04/17(水) 05:35:40.84ID:JxFBTN19 Sub macro1()
ChDir "指定フォルダ"
指定日 = "2019-1-1"
f = Dir(指定日 & "*.*")
Do While f <> ""
t = timestamp(指定日, f)
If t > 最新t Then
最新f = f
最新t = t
End If
f = Dir()
Loop
MsgBox "日付が" & 指定日 & "のうち最新の物は" & vbCrLf & _
"ファイル名 " & 最新f & vbCrLf & _
"日時 " & Format(最新t, "yyyy/mm/dd hh:mm")
End Sub
'ファイル名の日の桁数をチェックして、一致したらタイムスタンプを返す
'一致しなかったら0を返す
Function timestamp(s, f)
w = Mid(f, Len(s) + 1, 1)
If "0" <= w And w <= "9" Then
timestamp = 0
Else
timestamp = FileDateTime(f)
End If
End Function
ChDir "指定フォルダ"
指定日 = "2019-1-1"
f = Dir(指定日 & "*.*")
Do While f <> ""
t = timestamp(指定日, f)
If t > 最新t Then
最新f = f
最新t = t
End If
f = Dir()
Loop
MsgBox "日付が" & 指定日 & "のうち最新の物は" & vbCrLf & _
"ファイル名 " & 最新f & vbCrLf & _
"日時 " & Format(最新t, "yyyy/mm/dd hh:mm")
End Sub
'ファイル名の日の桁数をチェックして、一致したらタイムスタンプを返す
'一致しなかったら0を返す
Function timestamp(s, f)
w = Mid(f, Len(s) + 1, 1)
If "0" <= w And w <= "9" Then
timestamp = 0
Else
timestamp = FileDateTime(f)
End If
End Function
708デフォルトの名無しさん
2019/04/17(水) 07:27:27.84ID:Hz/wxCvM709デフォルトの名無しさん
2019/04/17(水) 08:09:13.25ID:pTGno1t2 フォームにしてももう少しグラフィカルだったりアニメーションだったりするだけでイメージが全然違うんだけど
頭の良い誰がライブラリを作ってくれんかね
頭の良い誰がライブラリを作ってくれんかね
710デフォルトの名無しさん
2019/04/17(水) 08:31:50.49ID:WtvpNXmt 多くの人にとって有用なライブラリを作れるほどの能力のある人なら、
VBAを便利にすることはVBAの延命や利用人口の増加を招き、それは即ち社会正義に反する行為であると理解しているからね
VBAを便利にすることはVBAの延命や利用人口の増加を招き、それは即ち社会正義に反する行為であると理解しているからね
711デフォルトの名無しさん
2019/04/17(水) 08:45:03.90ID:H1v/4DiF712デフォルトの名無しさん
2019/04/17(水) 08:46:34.13ID:H1v/4DiF >>710
まぁそういう事でもある
まぁそういう事でもある
713デフォルトの名無しさん
2019/04/17(水) 08:50:05.84ID:W5uIlXM9 VBAのライブラリ作るよりCOMにしちまうんじゃないの?
VBA以外にも使えるし。
そしてCOMのライブラリなんて腐る程有るんだが何を言ってるんだ?
VBA以外にも使えるし。
そしてCOMのライブラリなんて腐る程有るんだが何を言ってるんだ?
714デフォルトの名無しさん
2019/04/17(水) 08:50:52.58ID:W5uIlXM9 実際、俺はVBA用にC#でライブラリ作ったりしてる。
715デフォルトの名無しさん
2019/04/17(水) 09:15:11.32ID:YsMOLNBK716デフォルトの名無しさん
2019/04/17(水) 09:30:09.47ID:vaRlkwxk フォームUIのライブラリを希望
717デフォルトの名無しさん
2019/04/17(水) 11:17:15.83ID:SIKwKn9k >>711
> vbaにライブラリって何か必要?
こういう文脈のライブラリなら
アルゴリズム系のライブラリだろ?
ソートとか配列に対する処理(合計求める)とか
VBAの言語の範囲内で実装できるアルゴリズム
あと大きめのやつならCSV読み書きとか
テンプレートエンジンとか
> vbaにライブラリって何か必要?
こういう文脈のライブラリなら
アルゴリズム系のライブラリだろ?
ソートとか配列に対する処理(合計求める)とか
VBAの言語の範囲内で実装できるアルゴリズム
あと大きめのやつならCSV読み書きとか
テンプレートエンジンとか
718デフォルトの名無しさん
2019/04/17(水) 11:18:11.01ID:SIKwKn9k719デフォルトの名無しさん
2019/04/17(水) 11:27:39.85ID:YsMOLNBK720デフォルトの名無しさん
2019/04/17(水) 11:36:17.09ID:H1v/4DiF CSVの読み込みほしいな
住所の番地"1-1-1"を読み込むと日付になって超めんどい
幾つか試したけどどれやっても日付型になってしまった
今思えば頭にピリオドでも付ければ良かったのかもしれん
住所の番地"1-1-1"を読み込むと日付になって超めんどい
幾つか試したけどどれやっても日付型になってしまった
今思えば頭にピリオドでも付ければ良かったのかもしれん
721デフォルトの名無しさん
2019/04/17(水) 11:59:21.48ID:o6t++Kqu >>695-707
Ruby では以下。
ただし、Date オブジェクトに変換して比較しているから、同じ日付の順序付けは、不明
require 'date'
filenames = %w(abc 2019-1-11さらに修正1 2019-1-11修正2 2019-1-11修正1 2019-1-11 2019-1-1 2019-01-01)
re = /^(\d[\d-]+)/ # 数字で始まり、数字かハイフンだけが続く
# マッチしたものだけを集めて、ソートする。md[ 1 ] は、capture 部分
p results = filenames.select { | fn | fn.match( re ) }
.sort_by { | fn | md = fn.match( re ); Date.parse( md[ 1 ] ) }
p results.first
結果
["2019-1-1", "2019-01-01", "2019-1-11", "2019-1-11修正1", "2019-1-11修正2", "2019-1-11さらに修正1"]
先頭
"2019-1-1"
Ruby では以下。
ただし、Date オブジェクトに変換して比較しているから、同じ日付の順序付けは、不明
require 'date'
filenames = %w(abc 2019-1-11さらに修正1 2019-1-11修正2 2019-1-11修正1 2019-1-11 2019-1-1 2019-01-01)
re = /^(\d[\d-]+)/ # 数字で始まり、数字かハイフンだけが続く
# マッチしたものだけを集めて、ソートする。md[ 1 ] は、capture 部分
p results = filenames.select { | fn | fn.match( re ) }
.sort_by { | fn | md = fn.match( re ); Date.parse( md[ 1 ] ) }
p results.first
結果
["2019-1-1", "2019-01-01", "2019-1-11", "2019-1-11修正1", "2019-1-11修正2", "2019-1-11さらに修正1"]
先頭
"2019-1-1"
722デフォルトの名無しさん
2019/04/17(水) 12:02:53.03ID:H1v/4DiF >>721
もうすぐ無くなる言語の話なんてやめようよ
もうすぐ無くなる言語の話なんてやめようよ
723デフォルトの名無しさん
2019/04/17(水) 12:23:13.47ID:vaRlkwxk ルビーバカシネ
724デフォルトの名無しさん
2019/04/17(水) 12:27:00.37ID:MK1B34x/ ライブラリで有効なのは作るのが面倒なUIだろ
グラフィク系にこそライブラリの有り難みがある
グラフィク系にこそライブラリの有り難みがある
725デフォルトの名無しさん
2019/04/17(水) 12:39:27.60ID:epFgj98z そもそもVBAに固執するのは他のものを覚えたくないからであって、
いくら便利なものがあろうと誰もそれを探そうとしないし覚えようともしない
それができる人ならとっくにVBAなんか卒業してるよ
いくら便利なものがあろうと誰もそれを探そうとしないし覚えようともしない
それができる人ならとっくにVBAなんか卒業してるよ
726デフォルトの名無しさん
2019/04/17(水) 12:41:31.12ID:H1v/4DiF727デフォルトの名無しさん
2019/04/17(水) 12:44:56.01ID:epFgj98z >>726
VBA使う人には他のものが使えないから使ってる人と単に選択肢の一つとして使ってる人がいて、君は後者であるというだけだ
大多数は前者なわけだし、後者の人はVBAでやりづらいことを無理にVBAでやろうとはしないからライブラリ云々は問題にならないだろう
VBA使う人には他のものが使えないから使ってる人と単に選択肢の一つとして使ってる人がいて、君は後者であるというだけだ
大多数は前者なわけだし、後者の人はVBAでやりづらいことを無理にVBAでやろうとはしないからライブラリ云々は問題にならないだろう
728デフォルトの名無しさん
2019/04/17(水) 13:11:34.01ID:bcLxo1zC >他のものが使えない
は他のものを覚えたくないだけでなく
他のものを使わせてもらえないというのもある
は他のものを覚えたくないだけでなく
他のものを使わせてもらえないというのもある
729デフォルトの名無しさん
2019/04/17(水) 13:16:11.24ID:epFgj98z730デフォルトの名無しさん
2019/04/17(水) 14:04:48.27ID:bcLxo1zC 使わせてもらえないのはごく一部の相手なんですけどね
ほかは普通にいろいろ使ってる
ほかは普通にいろいろ使ってる
731デフォルトの名無しさん
2019/04/17(水) 17:43:39.08ID:yZ8b1h33 アドインはどうよ?
732デフォルトの名無しさん
2019/04/17(水) 18:24:57.64ID:nv4avm/j 自治体だと、テキストエディタすらウインドウズ標準のものしか使えない。インターネットから切り離されてる不自由な環境なので、VBAとかVBSは重宝される、らしい。
733デフォルトの名無しさん
2019/04/17(水) 18:30:47.49ID:SIKwKn9k734デフォルトの名無しさん
2019/04/17(水) 18:35:35.55ID:nv4avm/j >>733
頼む、作ってくれ!、とのこと
頼む、作ってくれ!、とのこと
735デフォルトの名無しさん
2019/04/17(水) 18:36:55.93ID:W5uIlXM9 個人的には申請出せば色々使えるけど、それが面倒くさいというのもある。
どうせ、VBAでどうとでもなる。
よっぽどどうにもならない場合は申請出すけど。
最近流行りのRPAとか全く必要無い。
簡単にソース作成する個人ライブラリが既にある。
どうせ、VBAでどうとでもなる。
よっぽどどうにもならない場合は申請出すけど。
最近流行りのRPAとか全く必要無い。
簡単にソース作成する個人ライブラリが既にある。
736デフォルトの名無しさん
2019/04/17(水) 22:16:54.35ID:JxFBTN19 PC-8001ではカセットテープにプログラムを保存したんだよな
それを最近のPCで録音して、音声ファイルからプログラムデータを復元するWindowsアプリがフリーで公開されてる
それを最近のPCで録音して、音声ファイルからプログラムデータを復元するWindowsアプリがフリーで公開されてる
737デフォルトの名無しさん
2019/04/17(水) 22:20:25.13ID:WIrsZtM7 FAXみたいな原理だな
738デフォルトの名無しさん
2019/04/17(水) 23:42:32.81ID:yDlOAXUg 下手なの作ってフリーズしたり過去のデータが消えたら責任とれるの?って話になるからな
739デフォルトの名無しさん
2019/04/18(木) 00:51:43.65ID:247lpqF0 ITに戦略がないとそうなる
740デフォルトの名無しさん
2019/04/18(木) 05:33:25.25ID:nRTUz+FV ライプラリってそんな知る人ぞ知るってマイナーな使い方じゃなく簡単に情報入手出来るようになって価値があるよね
汎用性があり改変もしやすくオープンなのが増えると良い。
そんなのVBAじゃなくともって言う人もいるけどそれでもVBAが存在して使用されてるんだから有用なライプラリはあった方が良い
汎用性があり改変もしやすくオープンなのが増えると良い。
そんなのVBAじゃなくともって言う人もいるけどそれでもVBAが存在して使用されてるんだから有用なライプラリはあった方が良い
741デフォルトの名無しさん
2019/04/18(木) 07:22:37.37ID:hrv1qdCF GithubでVBAっていれて検索すると3000以上のリポリトジがあるけど、
どうすれば有用なものが見つけられるか
まるでわからん
どうすれば有用なものが見つけられるか
まるでわからん
742デフォルトの名無しさん
2019/04/18(木) 07:34:41.63ID:z0cRqxOE VBAが有用じゃないし
743デフォルトの名無しさん
2019/04/18(木) 09:32:20.75ID:bMzi6GVd なんとなくvba利用しているような運用職なんですがモノは良いのでもっと横展開出来て再利用性高いものが作れたら作って欲しいと言われました
再利用性が高いとはつまりどういうことでしょうか…
モジュールをそのままコピペして全く別のものでも動くように…?
再利用性が高いとはつまりどういうことでしょうか…
モジュールをそのままコピペして全く別のものでも動くように…?
744デフォルトの名無しさん
2019/04/18(木) 09:40:51.83ID:Mwr+qk/V745デフォルトの名無しさん
2019/04/18(木) 09:44:43.23ID:PeuY0IP9746デフォルトの名無しさん
2019/04/18(木) 09:47:38.84ID:PeuY0IP9 > 横展開出来て再利用性高いものが作れたら作って
↑これ無理なんだよ。
今あるものを再利用性が高いものにすることはできない。
ただし「再利用性が高いもの」を使うことはできる。
どういうことかというと「今あるもの」は再利用できるものと
再利用できないものが合体してる形。
そこから再利用できるものを分離することはできるが
どうしても再利用できないものは残る。
↑これ無理なんだよ。
今あるものを再利用性が高いものにすることはできない。
ただし「再利用性が高いもの」を使うことはできる。
どういうことかというと「今あるもの」は再利用できるものと
再利用できないものが合体してる形。
そこから再利用できるものを分離することはできるが
どうしても再利用できないものは残る。
747デフォルトの名無しさん
2019/04/18(木) 10:15:32.81ID:66UDqgKZ そうやって責務を分離して再利用性の高いライブラリを構築することは可能。
しかし使いこなすのが難しくなる。
依存関係や凝集度をちゃんと考えた良質なライブラリは玄人受けはするだろうけど、
機能が細分化し抽象性も増すから一般人には豚に真珠状態。
しかし使いこなすのが難しくなる。
依存関係や凝集度をちゃんと考えた良質なライブラリは玄人受けはするだろうけど、
機能が細分化し抽象性も増すから一般人には豚に真珠状態。
748デフォルトの名無しさん
2019/04/18(木) 11:53:10.58ID:sbpDgPak まずはモジュール化
その会社の業務内容に合わせて、部署が違っても共通で使える部分をライブラリとして整備する
まあ言うのは簡単だけど、実際に作るのは死ぬほど大変なんで、理想の高さに比例した地獄が待ってるんだけどな
その会社の業務内容に合わせて、部署が違っても共通で使える部分をライブラリとして整備する
まあ言うのは簡単だけど、実際に作るのは死ぬほど大変なんで、理想の高さに比例した地獄が待ってるんだけどな
749デフォルトの名無しさん
2019/04/18(木) 13:21:10.78ID:PeuY0IP9 > その会社の「業務内容」に合わせて、「部署が違っても共通で使える部分」
そんなものは存在しない。
業務内容から生み出されている時点で、業務にべったり依存してる。
再利用性の高いライブラリっていうのは、業務内容を切り離している。
業務内容と関係ないから、共通で使える。
そんなものは存在しない。
業務内容から生み出されている時点で、業務にべったり依存してる。
再利用性の高いライブラリっていうのは、業務内容を切り離している。
業務内容と関係ないから、共通で使える。
750デフォルトの名無しさん
2019/04/18(木) 13:36:25.79ID:/sUch5Kf 自分の理解で合ってるか確認したいんだけど再利用性高いてのは決め打ち無くして例えば引数とかで使えるようにしてモジュールなりを使い回せる状態
だけども再利用性ない部分(呼び出し元?main?)を作らないといけない限りこれ1つあればどの業務、案件でも使える!てことにはならない
ライブラリ化?とか再利用性を高めることは出来るけど中々難しく初心者には険しい
て感じでおけ?
だけども再利用性ない部分(呼び出し元?main?)を作らないといけない限りこれ1つあればどの業務、案件でも使える!てことにはならない
ライブラリ化?とか再利用性を高めることは出来るけど中々難しく初心者には険しい
て感じでおけ?
751デフォルトの名無しさん
2019/04/18(木) 15:07:10.61ID:66UDqgKZ >>750
ライブラリと業務寄りアプリの難しさは別種のもので初心者にはどっちも難しい。
とはいえライブラリは小さな便利ツールをピンポイントで一個一個作っていくことができる点で
ハードルが低い面はある。
ライブラリと業務寄りアプリの難しさは別種のもので初心者にはどっちも難しい。
とはいえライブラリは小さな便利ツールをピンポイントで一個一個作っていくことができる点で
ハードルが低い面はある。
752デフォルトの名無しさん
2019/04/18(木) 15:19:41.42ID:YY/ze1GU 無理だと言うやつには無理のんだろう
汎用性の高いのは別に問題ないのでは?エクセル自体はどの部署でも使ってるんだから追加でどこまで機能を絞るか縛りを緩くするかの問題でしょ
汎用性の高いのは別に問題ないのでは?エクセル自体はどの部署でも使ってるんだから追加でどこまで機能を絞るか縛りを緩くするかの問題でしょ
753デフォルトの名無しさん
2019/04/18(木) 16:05:19.35ID:FYzqO+ri プログラム板の他スレじゃ相手にされない半端者がここならドヤ顔で語れるだろうって調子に乗ってて草
754デフォルトの名無しさん
2019/04/18(木) 17:34:24.27ID:Mwk0+ScA 他プログラムはサンプルや情報が多いからVBAより簡単に現象を獲得できる
755デフォルトの名無しさん
2019/04/18(木) 17:41:24.05ID:Mwk0+ScA そもそも他言語はシンプルだしVSならガッツリとインテリセンスが効くから簡単に書けて工数も少なくて済む
文法もVBAは難しい部類
文法もVBAは難しい部類
756デフォルトの名無しさん
2019/04/18(木) 21:55:37.18ID:CoHPfDW+ 難しいというか不合理なんだよな
内包表記やヌル安全やモナドみたいに別に難しい概念があるわけでは無い
内包表記やヌル安全やモナドみたいに別に難しい概念があるわけでは無い
757デフォルトの名無しさん
2019/04/18(木) 22:12:05.40ID:sbpDgPak 完全な言語なんて存在しないし作るのも不可能
758デフォルトの名無しさん
2019/04/18(木) 22:18:06.03ID:rY75T8tq >>757
小学生みたいな発想スね
小学生みたいな発想スね
759デフォルトの名無しさん
2019/04/18(木) 22:25:43.62ID:NyxG62A4 漠然とした話からは何も産まれない
760デフォルトの名無しさん
2019/04/18(木) 23:02:30.65ID:ZviCYbcp マクロでブック開くと、データ量が多いブックの場合開き終わるまで拘束されてしまう。
開き終わってセルに書き込みできるまでに他の処理をさせたい
if application.Ready=False then
(その間にやる処理)
endif
こんな感じに、開くまでの間になにか処理をさせたいのです。
なにかできる方法があったら教えてください
その重いブックは自分で作ったものじゃなくてすぐに改善はできない状況です
よろしくお願いします
開き終わってセルに書き込みできるまでに他の処理をさせたい
if application.Ready=False then
(その間にやる処理)
endif
こんな感じに、開くまでの間になにか処理をさせたいのです。
なにかできる方法があったら教えてください
その重いブックは自分で作ったものじゃなくてすぐに改善はできない状況です
よろしくお願いします
761デフォルトの名無しさん
2019/04/18(木) 23:26:59.03ID:1fisAtwZ 一瞬、マクロを実行するファイルそのものを開く時の待ち時間かと思ったわ。
VBAじゃなくて、VBSで開かせるなら出来なくもなさそうだけど。
VBAじゃなくて、VBSで開かせるなら出来なくもなさそうだけど。
762デフォルトの名無しさん
2019/04/18(木) 23:32:51.10ID:RfIDmYfE VBAやUWSCのプログラムちょっとできる程度なんだが組み込みのソフトウェア部に転身しろと先輩から言われる。
ちなみに今は製造部の使えないやつ扱いをうけている模様。
これは辞めろってことか
ちなみに今は製造部の使えないやつ扱いをうけている模様。
これは辞めろってことか
763デフォルトの名無しさん
2019/04/18(木) 23:38:14.35ID:rY75T8tq764デフォルトの名無しさん
2019/04/18(木) 23:39:24.29ID:ycswSyUn >>760
他の処理ってのがExcel操作だったら無理
ExcelはSTAのCOMなので複数のスレッドからアクセスしても常にタスクを直列にシリアライズして逐次処理する
一個の処理で詰まると後が渋滞するだけ
Officeの他のアプリのVBAとかPowerShellとかJSとかVBSとか、別の言語のプログラムをキックして他のエンジンで処理を実行させることは可能
後でウィンドウなりファイルなりにアクセスすれば処理結果も取れるし
他の処理ってのがExcel操作だったら無理
ExcelはSTAのCOMなので複数のスレッドからアクセスしても常にタスクを直列にシリアライズして逐次処理する
一個の処理で詰まると後が渋滞するだけ
Officeの他のアプリのVBAとかPowerShellとかJSとかVBSとか、別の言語のプログラムをキックして他のエンジンで処理を実行させることは可能
後でウィンドウなりファイルなりにアクセスすれば処理結果も取れるし
765デフォルトの名無しさん
2019/04/18(木) 23:42:06.58ID:RfIDmYfE766デフォルトの名無しさん
2019/04/18(木) 23:47:17.30ID:NyxG62A4767デフォルトの名無しさん
2019/04/18(木) 23:47:45.92ID:rY75T8tq768デフォルトの名無しさん
2019/04/18(木) 23:50:56.85ID:NyxG62A4 >>766
すまんアンカー間違えた
すまんアンカー間違えた
769デフォルトの名無しさん
2019/04/18(木) 23:51:11.62ID:RfIDmYfE >>767
Cだよなぁ、ポインタで挫折しちゃったけいけんがあるんだよなぁ。数字の羅列はやってても楽しくないんだよなぁ。グラフィックに実行結果出ないとつまらないんだよなぁ。
でも一生製造で終わりたくはないし…話ししてみようかなサンクス
Cだよなぁ、ポインタで挫折しちゃったけいけんがあるんだよなぁ。数字の羅列はやってても楽しくないんだよなぁ。グラフィックに実行結果出ないとつまらないんだよなぁ。
でも一生製造で終わりたくはないし…話ししてみようかなサンクス
770デフォルトの名無しさん
2019/04/18(木) 23:51:26.61ID:RfIDmYfE >>768
ええんやで
ええんやで
771デフォルトの名無しさん
2019/04/18(木) 23:59:44.00ID:tULlneIt >>764
Excel.Application複数起動してもダメなの?
Excel.Application複数起動してもダメなの?
772デフォルトの名無しさん
2019/04/19(金) 05:04:11.19ID:F+IfR3tb accessのテーブルに接続するデータテーブルをVBAでrefreshallした時に、
読み込み完了前に次の処理に進むのを止めることできますか?
stopで一時的に止めればいけるけれど、読み込み完了後に次処理に自動的に
進めたいです。
読み込み完了前に次の処理に進むのを止めることできますか?
stopで一時的に止めればいけるけれど、読み込み完了後に次処理に自動的に
進めたいです。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- アラフィフおぢだが、意外と人生悪くない
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 【朗報】スキースノーボードの季節がやってきた!
- 俺性格悪いなって思った瞬間あげてけ
