Excel VBA 質問スレ Part71

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f5f-nIK+)
垢版 |
2021/05/25(火) 12:48:01.06ID:mepUVc/i0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/06/06(日) 18:26:33.85ID:WJZoQhbE0
FunctionとSubの違いもよく分かってなかったんですが、Functionの返り値を変数で受けようとした所
そもそも渡したい文字列がFunctionに渡せなくて困ってました
単に、自作の関数を呼び出す時に引数を渡してやればいいだろと思ってたんですが、それが出来ないので
VBAはその辺が厳密なんですかね……?
2021/06/06(日) 18:32:25.23ID:efAmahNiM
例えばFunctionで返り値をString型が欲しい場合求める場合
Public Function aaa(ByVal hoge)As String
ってString型を指定してやってFunction内でaaa = 【返したい文字列】ってやる必要があるのは分かる?
2021/06/06(日) 18:35:37.03ID:efAmahNiM
Functionを呼ぶ側は
bbb = aaa((hoge))
ってやるんよ
参照渡し(ByRef)の場合は変数をダイレクトに書いて良いけど、値渡し(ByVal)の場合は変数を括弧でくくってやらんと上手く渡せない場合がある。
2021/06/06(日) 19:11:37.69ID:s0YManYn0
>>160
コピーして切った貼ったして使うことを使い回しとは言わない
どっちにしろ使い回したい部分をモジュールや関数単位に纏めてそれを呼び出せ。
それが使い回しというものだ。
2021/06/06(日) 19:27:28.02ID:HeHF5+P0d
場合って何よ 具体的に書きなよ
2021/06/06(日) 19:56:36.98ID:efAmahNiM
>>165
参照渡しと値渡しを同時に行う際、値渡しの変数に括弧をつけておらず、尚且つ変数のみである場合、参照渡しとして認識されるが呼び先では値渡し指定なので不一致であるとエラーを吐いて停止する(但し変数に対して演算を行っていた場合は値渡しとして認識される)から値渡しする時は括弧つける癖をつけろ。その方が可読性もあがる。
って言えば満足か?
2021/06/06(日) 20:01:57.50ID:PdUE2wOEH
>>164
言うか言わないかは個人の認識の問題
2021/06/06(日) 20:28:43.00ID:s0YManYn0
>>166
うん?
それ何か違う気がする
演算した後値渡しでエラーになると言うことは、そもそも渡す引数の呼び出す側の値が呼び出される関数の引数の型で許容されるものでは無かったってことじゃないの?

例えば呼ぶ側でVariant型を定義した変数に“1”という文字列を入れていて、それを受ける呼び出される側の引数が
Integer型に宣言されていた場合は型違いでエラーになるけど、呼び出し前にその変数に対して+1したものを代入すればその時点で暗黙の変化によりVariantの
内部型はIntegerになるから型が合ってエラーにはならない。という状況で、
括弧の話とはあまり関係ない気がするんだけど認識違う?
2021/06/06(日) 20:30:46.16ID:s0YManYn0
暗黙の変化ってなんだよ暗黙の変換ね
2021/06/06(日) 20:42:48.07ID:aS7dMAuf0
Public Sub aaa()

Dim aa As String, bb As String, cc As Long

bb = ″b″
cc = 2
aa = bbb(bb, cc)

End Sub

Public Function bbb(ByRef b As String, ByVal c As Long)As String

(中略)

End Sub

ってやるとFunction入る前にエラーで弾かれて
aa = bbb(bb, (cc))ってやったりaa = bbb(bb, cc + 1)ってやったりすると通るんだがおま環だった?
2021/06/06(日) 20:47:53.29ID:1YH+vaIj0
なにエラー?
2021/06/06(日) 21:00:41.59ID:qWOh0TID0
>>148
やってみた。
やっぱエラーで止まった。

sheet番号がぐちゃぐちゃでもちゃんと動作するような、
クエリーを変数にした記述の仕方があるかもしれないけど、
少なくとも >>140 のやり方では、どうもオートメーションエラーになるみたい。
2021/06/06(日) 21:34:20.79ID:s0YManYn0
>>170
コピーして実行してみたけど
まず“b”のダブルクォーテーションが全角なのと、Functionを閉じているところがEnd Subになっている。
コンパイルした時点でエラーで弾かれたよ。

そこを修正したらエラーが出なくなった。
2021/06/06(日) 22:08:04.98ID:vQVSsWXH0
>>170
ファイル壊れてんじゃね
2021/06/06(日) 22:13:12.19ID:s0YManYn0
関数やメソッドに括弧が必要なのは確か
・Functionで戻り値を受ける場合
・Subで頭にCallを付けない場合
じゃなかったっけ?
後、括弧で括らないと順序関係なく
個別に引数を設定することが
出来るんじゃなかったっけか?

まぁ自分としては何であれ括弧を付けて
Subの場合は頭にCall付けて関数やメソッドが
呼ばれていることを明示する
必要があると思うけど。

あまり引数が多い関数は引数そのものを
抱えるエンティティクラスを作って
そのインスタンスを引数で渡してやれば
いい気がするしその方が可読性高いよね。
2021/06/06(日) 23:50:30.47ID:WJZoQhbE0
>>162-163
ありがとうございます、値渡しがどうしても上手く行かなかったので試してみます
2021/06/07(月) 10:20:45.70ID:nhaEx8Ewa
大きな声で言えないけど、おれoption explicit付けたこと無いしグローバルじゃない変数は宣言しないで使ってる。グローバルな変数大好き
2021/06/07(月) 10:24:31.34ID:La1yJ3oH0
え?option explicit付けない人見たことない。。。
2021/06/07(月) 10:27:14.26ID:nhaEx8Ewa
だって俺お前と会ったことねーもん
2021/06/07(月) 10:45:43.81ID:/bT+ATEvp
まーたあわしろいくやの手下のRuby信者か
2021/06/07(月) 10:49:48.00ID:1dhF/BUe0
ゆうてそういうことしないよって人はプログラマとかじゃないんやろ
プログラマやってたら不安になると思うし
182デフォルトの名無しさん (エムゾネ FFea-ywzN)
垢版 |
2021/06/07(月) 11:02:15.80ID:BLDePS2QF
>>160
VBAを使わない
pythonで外からexcelを操作する
pythonのコードはgithubで管理
2021/06/07(月) 11:36:42.90ID:5JFCMcJv0
Ruby に option explicit は無いからな
2021/06/07(月) 11:53:27.33ID:faCSe2qcM
>>178
普通にいるよ
流石にソフトウェア開発者にはいないと思うけどVBAは事務屋さんも作ったりするからそう言う人はそもそもOption Explicit自体を知らなかったりする
知ってて使わない>>177みたいのは単なるアホ
2021/06/07(月) 12:02:42.50ID:/bT+ATEvp
>>182
Pythonなんか使う意味が分からん
2021/06/07(月) 12:06:17.59ID:nhaEx8Ewa
俺みたいな事務屋さんは知ってても必要ないんだってば。事務屋さんだから>>184みたいに大きな声は出さないけど
でも流石にRubyの人と同一視するのはやめて。けっこう傷付くし悲しい
2021/06/07(月) 12:39:03.71ID:/bT+ATEvp
知らないで使わないのはただの無知
知ってて使わないのは悪質なバカ
188デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/07(月) 12:46:48.42ID:8ILcpsz2M
VBAって宣言せずに使ったらローカルになるんだっけ?
プロと違って適当にかくから強制ひっすだわ
こういうところに書くのは省略しまくるけどな
2021/06/07(月) 13:32:24.67ID:faCSe2qcM
>>160
> あと、コードを保管方法ってなんかないかな?使ったエクセル開いてコピーとかメモ帳とかいろいろやったけど不便でならない。
普通にエクスポートすればいいだけじゃねーの?
2021/06/07(月) 19:28:59.24ID:9yldYH/70
>>73 すごい亀レスだが、dispatchEventでなんとかなったわ でもいつできなくなるかドキドキ ieは終わりの圧力に屈しそう
2021/06/08(火) 01:11:20.22ID:gtN4dmk3H
>>186
存在を知ってるのと正しい使い方を知ってるのは別
入力ミスが見つけやすくなるという大きなメリットがあるんだから、使わないのは無知と言われても仕方がない
2021/06/08(火) 02:25:46.24ID:1f6b7zm30
普通さ、最初に覚えるだろoption explicitは?
それらを参考書とかで勉強してこなかった人とかいるのかなと?
まあ、どう運用しようがその人の勝手だろうけどさ。
2021/06/08(火) 04:42:23.25ID:RLQzdArC0
option explicitは知ってるが
いちいち書かんし設定もせん
宣言は常にやる、それだけ
2021/06/08(火) 05:09:06.45ID:bCI8JHzDM
>>193
いちいち書く?
まあその程度のオツムならたいしたコードは書いてないだろうから使わなくてもいいかもねw
https://itsakura.com/wp-content/uploads/2017/07/excel-vba-explicit2.png
2021/06/08(火) 08:18:59.91ID:GIt8+gr30
>>193
俺も宣言は他言語同様やるがOptionは気にしないな
下手するとそれがあるせいで変な場所で宣言してる例をよく見る
2021/06/08(火) 08:20:58.32ID:wrp61arm0
Task オブジェクトってなんでWordだけなん?
2021/06/08(火) 09:07:28.17ID:3w2dwJfs0
>>194
自動構文チェックONにしているんだ。
別にどっちがいいって訳じゃないけど俺はOFF派。
コード書いてる最中にどこかのコードコピーして持って来たいときカーソル当てると
エラーのメッセージボックスが上がって元の位置に戻されるのが鬱陶しいのと
他の開発で使ってるVisual Studioが元々そんな感じだからそっちに合わせてる。

ただそうするとエラー部分が赤くなるだけでどんなエラーかは表示しないから一長一短。
OFFはパッと見でどんなエラーか分かる人向けでそれ以外の人にはお勧め出来ない。
2021/06/08(火) 09:12:57.77ID:3w2dwJfs0
>>195
Option Explicitの設定してて変な場所で宣言って聞いたことないな。
そんな具合になったコード晒せる?
2021/06/08(火) 09:19:38.53ID:rnKdyaoGM
>>195
> 下手するとそれがあるせいで変な場所で宣言してる例をよく見る
意味わからん、例示してくれ
2021/06/08(火) 09:24:20.65ID:rnKdyaoGM
>>197
> 自動構文チェックONにしているんだ。
まあこれは人によるかな
あんたも書いてるようにエラーになった時にいちいちダイアログが表示されて鬱陶しいとは俺も思う
2021/06/08(火) 09:56:53.56ID:zTVPbGTxa
変な場所って、プロシージャの真ん中あたりに宣言がポッと出てくるやつか?
いちいち上に戻って書き足すのがクソダルい気持ちは分かる
2021/06/08(火) 10:01:13.33ID:3w2dwJfs0
>>201
見たことないなぁ
どんな操作をするとそうなるの?
そもそも最初に設定しておけば必ずモジュール作ったときに一番上に出てくると思うけど
2021/06/08(火) 10:10:38.85ID:zTVPbGTxa
違う違う、そうじゃなくて、初心者がコード書く時にエラー吐かれる度にその場で直した結果として変なところで宣言してるやつってこと
2021/06/08(火) 10:32:12.38ID:3w2dwJfs0
>>203
Option Explicitとは関係ない話?
だったら本題と内容がズレるな。

>違う違う、そうじゃなくて、初心者がコード書く時にエラー吐かれる度にその場で直した結果として変なところで宣言してるやつってこと

これは初心者というか.Net系やJavaとかやってる人に書かせてもそう書くときがある
関数内で定義したVBAのDimとかのスコープが関数単位で効くものでなくて
If とか For とかのブロック単位で効くものと勘違いしているらしい。
2021/06/08(火) 10:36:39.71ID:zPjYlIziM
>>203
使う直前に宣言するって言うのは別に変な流儀じゃないけどな
むしろ先頭で宣言しろと言うのは老害の可能性もあるし
2021/06/08(火) 10:47:13.49ID:3w2dwJfs0
>>205
それは可読性の問題
あくまで俺だったらだけど同一スコープの先頭に書くな。後で変数定義して既に使われてる変数書いてエラーになって「あ」ってなるの嫌だし
一々コードから何の型で宣言しているのか探しにいくのも面倒くさい。
207デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 10:51:37.03ID:zTVPbGTxa
>>204
いやいやズレてないよ、>>195がそういう話をしてるんじゃないかって話だったでしょ
ありがとう勉強になる…そうか俺老害側か…
2021/06/08(火) 11:03:04.11ID:3w2dwJfs0
>>207
よく嫁
>俺も宣言は他言語同様やるがOptionは気にしないな
>下手するとそれがあるせいで変な場所で宣言してる例をよく見る

Optionがあるせいで変な場所に宣言してる例をよく見るって書いてあるだろ?
そっちの話はOptionの話と関係ある?

後、宣言する場所に関しては老害とかないから安心していいぞ。何故ならもっと新しい言語のVB.NetやC#でも効くスコープの先頭に書くのが一般的だから。
209デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 11:06:06.39ID:zTVPbGTxa
>>208 >>203
option付けたら変数宣言しないとエラー出すじゃないですか
2021/06/08(火) 11:07:57.69ID:3w2dwJfs0
>>209
Optionつけようがつけまいが
変数宣言するのは基本だと思うけど?
してないの?
2021/06/08(火) 11:09:49.36ID:GIt8+gr30
>>201
まさにそれ
2021/06/08(火) 11:10:37.61ID:bCI8JHzDM
>>206
別にお前さんに強要するつもりはないから自分の好きな様に書いてくれ
ただIDEの使い方位は覚えておいた方がいいんじゃないかな
> 一々コードから何の型で宣言しているのか探しにいくのも面倒くさい。
213デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 11:15:14.30ID:zTVPbGTxa
>>210
俺とお前と>>195がしてても、それが基本でも、>>195が良く見るというコードを書く人たちが基本が身についているとは限らないじゃない
だから>>203でわざわざ初心者って言及したんですってば
2021/06/08(火) 11:16:08.53ID:3w2dwJfs0
>>212
Visual Studio辺りであればカーソル合わせると
定義した型が表示されるから分かるが
VBAの場合は一々「型の定義」でそこまで
飛ばないといけないし、何度か最寄りの型まで
調べると元の位置に戻ってくるのも
面倒だと思ってるんだけど認識違う?
違うんならそのIDEの使い方とやらを
提示して頂けると有り難いんだけどな
2021/06/08(火) 11:20:57.88ID:Bz/vS+dRM
変数の宣言って頭でまとめて宣言するより使う場所で宣言するのが今の主流だった気がするけどウチの会社だけなんかな
2021/06/08(火) 11:24:56.38ID:3w2dwJfs0
>>213
よく分からないな
初心者だから変数定義をしていないといいつつ
変数定義しているところがポッと出てくるという。
変数定義してたりしてなかったりというのであれば
もうそういう次元の話ではなくなってくる。
2021/06/08(火) 11:25:51.75ID:RLQzdArC0
>>194
だから「設定」と書いてあるだろアホ
2021/06/08(火) 11:32:15.16ID:3w2dwJfs0
>>215
状況がよく分からないけど
「使う場所で宣言する」というのは
スコープ毎に纏めていないと言うことだろうか

少なくとも俺が今までやった言語では
そんな流行りは見たことないなぁ
というか見辛いもの
2021/06/08(火) 11:47:18.41ID:eotEY1L4M
>>217
おじいちゃん、もうそのレベルの低い話は終わってるからw
2021/06/08(火) 12:12:36.32ID:zTVPbGTxa
>>211
ごめん

>>216
してないとは言ってないよ。option付けたら必ずさせられるじゃん。してたりしてなかったりにはなり得ない
初心者だから変数定義を最初に必ずするクセがついていないんじゃないかって話です

vba不慣れな人が宣言してない変数を使おうとして、実行時にoptionどおりエラーを言い渡され、慌ててエラー箇所の直前に変数宣言をぶち込む。その結果コードの真ん中に変数宣言がポッと出てくるやつになるんじゃないかってこと
2021/06/08(火) 12:44:31.31ID:3w2dwJfs0
>>220
言いたいことはやっと伝わった

では話を戻そう。そのコードを見てどう思った?
変数宣言強制設定して変数宣言書き込まないとエラーが出るようにするのが悪いと思った?
そんな奴がポッとそんなところに変数宣言を書き込んだ奴が悪いと思った?

前者というのであればここで話はもう終わり。
恐らくこれ以上話してもお互い得られるものは何もないと思う。

後者と言うのであれば、変数宣言強制した際に少なくとも変数が宣言されていないことは発覚する。これだけで恩恵があることは理解出来るかな?
その辺にポッと書いてしまったことはそれ自体が問題であり、その人に促せばいいんじゃないかと思うけど?
2021/06/08(火) 12:53:13.82ID:RLQzdArC0
>>219
自分の間違いが顕わになって、反論できないバカ
223デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 12:59:24.76ID:iJBocUpIM
くだらないタイプミスで時間を無駄にしたことはありませんか?
2021/06/08(火) 13:04:42.37ID:5PCuzcGlM
設定のことを含めた話ということすら読み取れてなかった7vXXが一番レベル低かったな
2021/06/08(火) 13:09:06.95ID:3w2dwJfs0
>>223
ない・・・と言いたいところだけどどうやっても0にはならんわなw

いつも思うのがOption ExplicitがあるんだからOption Strictも用意しといてくれればいいのにと。
変換に際して暗黙の変換をさせずにどれも明示的な変換を漏らさずさせられるようになれば
テストする際も安心して走らせられるのにって思う。
もっとも、人によっては面倒くさいと思う人が出るんだろうなぁ・・・
226デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 13:09:33.83ID:iJBocUpIM
>>218
C#でvar使うなら型の確定する現地じゃないとだめじゃね?
227デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 13:14:50.72ID:zTVPbGTxa
>>221
確認だけど、俺はそのコード見てないし、見てない以上何とも思ってないぞ。俺は>195氏じゃない
>>201>>203は>195の言うコードを予想したものだということを踏まえて、それでも話を続ける?
2021/06/08(火) 13:17:48.89ID:3w2dwJfs0
>>226
そもそも型定義出来る言語であまりvarは使わない。まぁ厳密な書き方しない人は使うんだろうけど。
それにそれもスコープが効いてる頭でやる。
むしろC#のvarはVBAのVariantと違う。
別の内部型を使うことによって違う扱いをするようなことは出来ない。
最初に設定された値により使用する型が確定されるため、一度設定したらその型として定義される。
例外があるとすれば無名型とかレイトバインディングにより型が確定するもの。
2021/06/08(火) 13:21:07.44ID:3w2dwJfs0
>>227
では「見た」と言うのを「予測した」というのに置き換えて考えればいい。
そう言ったコードをどう判断するか、と言うことにかわりはない。
230デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 13:22:00.36ID:iJBocUpIM
>>228
だからC#では途中で宣言するvarが流行ってますよと
2021/06/08(火) 13:23:01.01ID:gtN4dmk3H
VBAの場合、変数は先頭で宣言するのが望ましいとされるけど強制ではない
そして、スコープ内ならどこに書いても効力は同じ

だから使用直前に書くコーディングルールでも動作に支障はない
別人が保守する可能性がある時に、ルールをどう伝えるかが問題になるだけ
コードの先頭にコメントで書いてもいい

参考、「通常、Dim ステートメントをプロシージャの最初に配置します。」
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/dim-statement
2021/06/08(火) 13:26:59.27ID:gtN4dmk3H
いちいち先頭に戻って確認するのが面倒と言ってる人がいるけど、ウィンドウが分割できることを知らないのか
あるいはよっぽど狭いモニターでやってるのか
そもそも設計がきちんとできてれば、型も自然と決まってくるんだから確認する必要なんかないだろう
どっちにしろ自己責任で片付く問題でしかない
2021/06/08(火) 13:32:59.72ID:3w2dwJfs0
>>230
流行ってない。
C#やVB.Netの場合はそもそも変数の定義と一緒に値を設定出来るからスコープの頭で定義してvarの場合一緒に型を決める頭を設定する。
そしてスコープも関数単位ではなくIfやCase、For文等の細かいブロックに分かれるからそれが最小単位だ。
もしC#で他の誰かが組んだコードが確認出来るならしてみればいい。
2021/06/08(火) 13:35:48.75ID:XYNVs0qfM
>>214
そんなに型知りたいときある?
あとそれ先頭で宣言しても似たようなもんじゃね?
2021/06/08(火) 13:36:47.28ID:XYNVs0qfM
>>222
終わった話に粘着する爺乙w
236デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 13:38:33.25ID:zTVPbGTxa
>>229
おーけー、じゃあ戻るというか新しい会話だね。

別にどっちも悪くないんじゃない? 少なくともoption付けて悪いってことはないでしょ
可読性の問題については頭にまとめて書くのが当然だとは思ってたし、途中にあったら変だと感じるけど、悪いかは分からん。今日は勉強させて貰った
2021/06/08(火) 13:40:15.13ID:3w2dwJfs0
>>232
ウィンドウ分割なんて一つしか出来ない。
ソースを確認するのは有効かも知れないが、そんなんで一々散り散りになった変数の型確認などしていたら大変な手間だ。まだ定義の確認で飛ばした方がマシ

設計どうのと言っているが、そんなコードや型までこと細かく書くことはまずない。
それは設計書ではなくコードそのものをただ日本語の資料におとしたというだけ。コードを見ればいいのだから無駄な作業だ。
2021/06/08(火) 13:48:16.57ID:3w2dwJfs0
>>234
何か沢山の人とやり取りしてると話がごっちゃになって・・・すまんな。
俺は使うスコープの先頭に書く派だけど、そっちは何の先頭と言ってるのだろうか。
話はそれによりけりかな。
2021/06/08(火) 13:55:51.97ID:3w2dwJfs0
>>231
最初に言った
これは可読性の問題だと。
動作に支障がないからと言って関数単位のスコープであればそこだけ確認すれば良いものを
わざわざ大風呂敷広げてそのモジュール単位にする理由が分からない。
2021/06/08(火) 14:04:14.95ID:3w2dwJfs0
>>236
とりあえずそこまででも理解して頂ければこちらとしても嬉しいし有り難い。
2021/06/08(火) 14:06:51.56ID:xXU8pzBkM
>>238
>>201からの流れだからSub/Functionの先頭でしょ
2021/06/08(火) 14:10:03.51ID:3w2dwJfs0
>>241
なるほど、ありがとう。
それなら基本俺も最初からそう言ってるしそれでいいと思う。
モジュール単位で使う必要のあるものはモジュールの頭で書けばいいしね。
243デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 14:14:48.37ID:zTVPbGTxa
>>240
なんかほんと、ごめん。色々ありがとう
2021/06/08(火) 14:16:57.43ID:3w2dwJfs0
>>243
いえいえ、楽しかったよ
2021/06/08(火) 14:36:31.75ID:ECc03QiG0
ちゃんと教科書通りにやれ!
と怒鳴られたらどうする?
2021/06/08(火) 14:52:20.28ID:3w2dwJfs0
後、varで思い出したけど、これは余談になるんだけど、以前ExcelでPythonが使えるようになるかも知れないって話があって、結局のところ塩漬けになってしまったから残念ではあるけれど
つい五月の終わり辺りにExcel webが解放されたね。
使用言語はJavascript、Webのものだから今後HTML、CSS、クライアントやWebサーバー、IISや場合によってはJqueryやDBサーバーの知識が必要になる可能性がある。
いや、お客さんやエンドユーザーさんが「Webで確認したいなぁ」とか言い出しそうな人がいたら要注意だ。
まだどのような影響があるかは分からないけど、場合によってはおじいちゃんでその辺の理解がないと淘汰される可能性があるかも、とだけ言っておこう。

https://www.google.co.jp/amp/s/forest.watch.impress.co.jp/docs/news/1328/019/amp.index.html
2021/06/08(火) 16:03:42.43ID:aRPmnT2Sd
>>140

wsとqをどういう風に設定しているのか確認しました?
2021/06/08(火) 16:44:43.77ID:ZMLG7Zjy0
google apps scriptみたいなもんか
2021/06/08(火) 16:59:48.28ID:3w2dwJfs0
>>248
まさにそんな感じだろうとは思ってる。
ただ、IEには対応していないと書いてあるので
Edgeでは動くだろうけどchromeだとどうか・・・
すまん、ウチに入れてるOfficeは365だけど企業用ではないから確認出来んのよ。
2021/06/08(火) 17:49:08.47ID:3w2dwJfs0
まぁVBAは今までの資産があるし、今こんな話をするのは早すぎかも知れないけど、この機能を使おうとした場合、大きなお金持ちの会社になると
「じゃーボタン押したらDBの内容表示させようかー」とか軽くお客さんが言い出す可能性もある。
SQLはそのまま使えるけど、ビジネスロジックの部分はどうしようか、とか
「じゃー他のシステムと統合しようかー」とかになったら、上手くそのシステム作成の話に乗れればいいけど、そうでなければお払い箱になる可能性もある。
WebのビジネスロジックにVBAは使えないから他の言語も勉強しなければならない。

これは他のWebの言語やってるところも他人事じゃなくて「じゃー画面はEDGEでEXCELで表示してねー、ダウンロードはいやよー、編集して反映させたいからー」
なんて言われた日にゃUIをこれにしなくてはいけない。

今すぐと言うわけではないし、そうならないことも考えられるけど、ひょっとするとこれからEXCELというものは今までのものと
そういう方向性のものを含めてEXCELと呼ばれることになるかも知れないということ。

まぁ今は聞き流して貰って大丈夫だよ。
ただ、そう言う話があるということだけ心の片隅に置いといて貰えれば。
251デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 18:03:14.64ID:NOm8RE2hM
5分でかけるスクリプトに仕様書やらテストやら乗っけて
おいくら万円で売りつけるサービス業者のピンチですか?
2021/06/08(火) 18:07:44.94ID:3w2dwJfs0
>>251
ピンチになるかどうかはまだ分からないけどそんな可能性もあると言うこと
それにそう時世が動いたとしてピンチになるかはその人次第。
2021/06/08(火) 18:14:42.27ID:Yg8CMFGOM
VBAやってる人は、不安なら他の本格的なプログラミング言語に手を出す前に今時のWebベースのノーコード開発を習得したほうがいいと思うよ
VBAできる程度の頭があるなら難しくはないだろうし、ヘタにスクラッチで作るより遥かにまともなものができる
2021/06/08(火) 18:20:22.16ID:3w2dwJfs0
恐らくこれに対応しろと言われて一番困るのはMicrosoftのOS使ってないところ。
lMicrosoftであれば.Net freamWorkでそのようなライブラリをすぐ揃えてくれるだろうけど
そうでなければオープンソースのものは誰かが作ってくれるのを待つか自分でライブラリを作るしかない。

そしてMicrosoftはそれが内部でどう作られているのか教えてくれる気は更々ない。誰かの解析待ち。
255デフォルトの名無しさん (ワッチョイ 0ae6-+uhU)
垢版 |
2021/06/08(火) 18:23:16.36ID:/pGHNa0l0
DBはアズールレーンだろ
windowsはどうでもいいよ
2021/06/08(火) 18:34:39.97ID:3w2dwJfs0
>>255
アズールレーンがどんなDBか分からなかったから
wikiで調べたらゲームしか出てこないな
何だこれ
https://ja.m.wikipedia.org/wiki/アズールレーン

DBはOracleでもSQLSERVERでも構わないけど
問題はUI部分をどう使って行くかよ。
これを使うライブラリがないとキツいかも知れない。
まぁOSがWindowsでなければgoogle spreadsheetで代用すればいいんじゃないか?
要件を満たすことが出来ればだけど。
2021/06/08(火) 18:50:55.82ID:Yg8CMFGOM
Excel使うにしてもO365のWeb版Excelでいいでしょ
Windows要らん
2021/06/08(火) 18:58:32.10ID:3w2dwJfs0
>>257
画面制御行わないのであればね。
企業用のofficeライセンスが無いとJavaScriptが使えん
2021/06/08(火) 18:58:53.48ID:AJ4OLay60
今MacのVBA案件渡されて泣きそうなんだが
Windowsのが100倍良いわ
2021/06/08(火) 19:00:26.37ID:3w2dwJfs0
>>259
これな
2021/06/08(火) 21:27:43.29ID:z4uqk83n0
365ならMacでフルで使えんじゃないのか?
■ このスレッドは過去ログ倉庫に格納されています