[過去ログ] + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
481(1): (ワッチョイ d35b-drn7) 2016/12/11(日)11:33 ID:+I+aM6eT0(1/2) AAS
>>480
ggrks
外部リンク:language-and-engineering.hatenablog.jp
外部リンク[html]:www.atmarkit.co.jp
482(1): (ワッチョイ 53c3-drn7) 2016/12/11(日)11:42 ID:iSoJ1ckE0(2/2) AAS
>>481
その辺は見ましたよ
わたしがやろうとしてるのは、jsc.exeでWScriptを使えないのかということ
外部リンク:stackoverflow.com
を見ると
var WScript = new ActiveXObject("WScript.Shell");
とやれば出来そうに書いてあるけど、基本的なEchoが出来ないのでなんでだろう?ということです
でも、Runが動く
483: (ワッチョイ d35b-drn7) 2016/12/11(日)12:41 ID:+I+aM6eT0(2/2) AAS
>>482
文盲には無理。お前のURLから辿れるところに答えが書いてある。
484(3): (ワッチョイ 3736-maiv) 2016/12/11(日)22:45 ID:kg/mlddD0(1) AAS
AA省
485(1): (スププ Sd2f-8ocn) 2016/12/11(日)23:26 ID:DSUXohxod(1) AAS
係数は、
tbl={
1:1.1
2:1.5
}
みたいなの渡せばいいんじゃないの?
配列が変わるなら、配列自体を渡せば?
使途がわからんから読みきれんけど。
486: (ワッチョイ d35b-drn7) 2016/12/12(月)00:02 ID:x9ggXkxf0(1) AAS
>>484
> 違いは配列名だけ
function sub(引数1,引数2, target_array) { // target_array は変更配列名
target_array['b'] = Math.ceil(target_array['b'] * 1.1);
ちなみに係数は>>485の形式で配列にしておきクロージャでスコープに入れ、引数2で引く。
var coeffs = [1.1, 1.5, 1.1];
function sub(引数1,引数2, target_array) {
target_array = Math.ceil(target_array['b'] * coeffs[引数2]);
おそらく 'b' や 'c' も同様に出来るのだろうからそれも。
上手く纏まらないのなら諦めてそのまま書くしかない。
省3
487: (ワッチョイ 0bce-drn7) 2016/12/12(月)02:01 ID:l2OsM7Pl0(1/2) AAS
>>484はそもそもローカル変数って何?ってレベルだろうな。
まず第一に、グローバル変数は禁止だ。
そのグローバル変数をなくしないさい。
488: (オッペケ Sr27-32/C) 2016/12/12(月)12:35 ID:VLaUejgQr(1) AAS
>>484
次の二択
- switch 文を使う
- 配列を使う
引数2の処理は共通なので関数に逃がすか配列にしてコードを共通化するか
まあ、配列を使えばすっきりするだろうな
ところで、484はコードにすらなってないので制作依頼にも読めるんだが、自分でちゃんと書いてるんだよな?
489(2): (ワッチョイ 53c3-drn7) 2016/12/12(月)13:40 ID:KHTlL8cv0(1) AAS
JScriptでエクセルを扱うとき
var ExcelApp=new ActiveXObject( ”Excel.Application” )
ExcelApp.Visible=true
WScript.Sleep( 1000 )
var book=ExcelApp.Workbooks.Open( ”C¥¥Test.xls” )
var sheet=book.Worksheets( 1 )
としてエクセルファイルを開きますが、既に開かれているエクセルファイルを操作するには
どうしたらいいでしょうか
490: (ワッチョイ 0bce-drn7) 2016/12/12(月)22:35 ID:l2OsM7Pl0(2/2) AAS
switch文すっかり使わなくなったな。
switch文はコードを複雑にするだけだよ。
491(1): (ワッチョイ d35b-drn7) 2016/12/13(火)00:59 ID:uBZRzWX90(1/3) AAS
>>489
知らんが、そのまま開くだけじゃないか?要するに普通に2つ開くのと同じ。
一般的に考えて同期してくれるとは思えないが、最近のExcelならもしかして?
つか、そんなんでExcel開ける方がびっくりだわ。
大昔からやってる人には常識なのかもしれんが。
ActiveXでIE縛りから逃れられないってこれのことだったのか?
ついでに言っておくと、もしかして>>480って
「ダブルクリックで起動したときにEcho出力が見えません」ってオチじゃないだろうな?
それは「ハングアップ」とは言わないぞ。
492(1): (ワッチョイ 0bce-drn7) 2016/12/13(火)02:18 ID:MvIBvV300(1) AAS
>>491
> つか、そんなんでExcel開ける方がびっくりだわ。
> 大昔からやってる人には常識なのかもしれんが。
> ActiveXでIE縛りから逃れられないってこれのことだったのか?
大昔からっていうか、単にお前がWindowsのプログラミングを知らないだけだよ。
Windowsではな、GUIのアプリ同士が連携できる。
あるアプリの中に別のアプリを埋め込むことができる。
パイプによる連携だけじゃなくて、あるアプリをそのアプリが公開している
APIを使って操作するための共通の連携の仕組みがあるんだよ。
逆にこれがないなら、どうやってGUIアプリと連携させるんだ?
省5
493(1): (ワッチョイ d35b-drn7) 2016/12/13(火)19:45 ID:uBZRzWX90(2/3) AAS
>>492
× Windowsのプログラミング
○ Officeのプログラミング
だろ。まあいいが。
ただ、Excel文書を共有したいって業務がらみか?
だったら隣の席の奴に聞いた方がいいと思うし、普通はVBAだと思うが。
> 逆にこれがないなら、どうやってGUIアプリと連携させるんだ?
そんな連携は要らないというのがUnixの思想じゃないか?
普通にCSVを吐いてCSVを読み込む、ファイル経由での粗結合で十分ということだろう。
実際、これで困ることはないわけでね。
省8
494(1): (ワッチョイ 0bce-drn7) 2016/12/13(火)21:06 ID:iAtvyUgt0(1/2) AAS
>>493
> × Windowsのプログラミング
> ○ Officeのプログラミング
>
> だろ。
違う。Windows標準のやり方だから
同じ方法を使ってVBAでIEを自動制御だってできる。
495(1): (ワッチョイ d35b-drn7) 2016/12/13(火)23:20 ID:uBZRzWX90(3/3) AAS
>>494
では非マイクロソフト製品、例えばChromeやFireFoxの制御は出来るのか?
それが出来れば「Windowsのプログラミング」と言える。
出来ないのなら、「Microsoftのプログラミング」だね。
いずれにしても、MicrosoftがそういうAPIを用意していたこと自体はいいことだ。
ただそれを使うのがいいかどうかはまた別の話だ。
496(1): (アウアウイー Sa37-8ocn) 2016/12/13(火)23:42 ID:cZJz/amWa(1/2) AAS
>>495
出来るとは思うけど。
ある程度はsendkeys経由になるとは思うけど。
まぁ、順当に考えてちょっと面倒な話はおいとくけど、
ActiveXコンポーネントとして存在すれば呼び出せるよ。Officeに限らず。
VB6とかの頃の話だから、若い人は知らんのかな。
497(1): (ワッチョイ 0bce-drn7) 2016/12/13(火)23:48 ID:iAtvyUgt0(2/2) AAS
じゃあActiveXコンポーネントというのは
OSが用意している機能なのか?と質問されれば
YESとしか答えようがないからな。
498(2): (アウアウイー Sa37-8ocn) 2016/12/13(火)23:55 ID:cZJz/amWa(2/2) AAS
>>497
むしろそこが美味しい所だしね。
ActiveX縛りでIEから云々は的外れで、Webで使うにはあまりに何でもできるよね、まずいよね、
ってところから、IEから自由に使えなくなった過去があるレベル。
普通はVBAですらない。vbs。
csvが完璧に書式も持てるならcsvからcsv吐けばいいけど、
書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。
ドヤ顔で「実際これで困ることはないわけでね」とか言って、アーキに口出しするなと言ってる自分がらもっとアーキに口出しすべきでない人間だとは皮肉なもんだな。
499(2): (ワッチョイ d35b-drn7) 2016/12/14(水)00:05 ID:bj02pMPP0(1/6) AAS
>>496
> ある程度はsendkeys経由になるとは思うけど。
それは「出来る」とは言わないだろ。というか屁理屈になってるぞ。
そもそもWin32APIははキーボード/マウスイベントを生成して打ち込むことが出来るから、
それで「出来る」というのならそれ以前から何でも「出来る」ことになる。
そしてそれはunixではもっと簡単に出来る。/dev/inputにリダイレクトするだけ。(やったことはないが)
だからそれで「出来る」というのなら、unixならもっと簡単に「出来る」ことになる。
そうではなくて、Excel側が共通の仕組み(ActiveXか?)からAPIを呼び出せるように整備されているだけでしょ。
だからchrome側からAPIをActiveX向けに提供してないと呼び出せない。
FireFoxはプラグインがあるみたいで、それを使えばいけるようだが。(Wikiによると)
省2
500(1): (アウアウイー Sa37-8ocn) 2016/12/14(水)00:18 ID:BIWUg/7Ya(1/2) AAS
>>499
dev/inputに流し込むって一般ユーザでできるっけ?
普通に間かました方が楽だと思うけど。それこそstdinでもらっちゃえばパイプしほうだいなんだし。
どう話を持っていきたいのかわからんが、非マイクロソフト製品、例えばAcrobatなんかはほぼフル機能が呼び出せるし、なんだかんだ、お前が思ってる以上に色々できると思うよ。
マイクロソフトのプログラミングでは決して無い。
APIという概念より更に上の、「オブジェクト」だよ。
昔からやってるから詳しいんじゃなくて、オブラートを取ると、お前が無知すぎるって言ってんの。
上下前次1-新書関写板覧索設栞歴
あと 502 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.335s*