[ 掲示板に戻る ]

過去ログ閲覧モード

chkimg()の処理速度について / cf
chkimg() をなるべく速く動作させたいと思っています。
現在、1回の呼び出しに30ミリ秒ほどのコストがかかっています。

戻値 = CHKIMG( [画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )

座標を絞り込んでも少ししか早くなりません。(x1 = x2 = y1 = y2 = 0 の状態で実行しても遅いです)
色幅や透過色を0にしても大差がありません。
UWSCの検索速度は高速だけど、Windowsから画像を取得するAPI自体が重い・・・という事でしょうか?

No.2690 2016/07/30(Sat) 23:09:53

Re: chkimg()の処理速度について / MM
30ミリ秒は非リアルタイムOSにしては十分速いのでは。
キーストロークの送信だって安定して実施するためには数十ミリ秒のウェイトが必要なのに…
デスクトップ録画ならデスクトップ録画専用ソフトを使うべきだし、
アニメーションする画像の一瞬の一コマを判定しようというのなら無理を通す分、
時間がかかるのは仕方ないと思う…

No.2692 2016/07/31(Sun) 23:12:05
ListViewの項目ダブルクリックについて / kei
お世話になります。
前回、外部プログラムから参照出来ないかと質問したものです。一回だけ、使ってみて良し、という許可を得て、ミッションに突撃しています。

XP端末にて、ヘルプファイルを開いて内容を別の形式で保存せよ、と言うミッションです。
HLPという拡張子のファイルと、cntという拡張子のファイルがあります。
単ページのファイルと、目次付きのHLPファイルがあるらしき事がわかり、目次付きを攻略しようとしています。

◆ツリービューを操作する際の、堅実な方法を教えて頂けないでしょうか。

トピックの検索、というタイトルのダイアログ的な目次ウィンドウが表示されます。
1. これがツリービューを持っていて、その構造を取得します。
2. 上(若番)から、ダブルクリックして開いていきます。フォルダなら展開、リーフなら別窓が開いて、目次ウィンドウは見えなくなります。
3. 別窓に表示されたテキストを取得して、目次ボタンを押して戻ります。目次ダイアログが、再表示されます。
2と3を繰り返し、1で取得したリストが尽きたら終了、という構成です。

手動で実施すると問題ないのですが、スクリプトでは、ツリービューのダブルクリックが上手くいかないときがあります。一つ下のリーフノードを開きたいのに、飛ばしてしまうのです。
リトライしても、駄目なようです。

◆項目名を指定してのダブルクリック、コケる時の対処方法を教えて頂けないでしょうか。
キーによる操作を試みたのですが、一貫性が無い作りで、(※右下押下して、横滑りする時がある)、こまっています。

※右押下で、次ノードに行くパターンがある。
何卒、よろしくお願いします。

No.2675 2016/07/27(Wed) 22:39:14

Re: ListViewの項目ダブルクリックについて / しゅん
XP環境もないですし、hlpの表示がどんなだったか忘れてしまったので、UWSCを使ったアドバイスはできませんが、、、

以下のようなソフトで、リッチテキスト形式を取得した方が楽ではないでしょうか。
(とUWSCの掲示板であるのを無視した発言をしてみる)
http://www.gigafree.net/utility/universalextractor.html

No.2681 2016/07/28(Thu) 20:20:05

Re: ListViewの項目ダブルクリックについて / kei
返信ありがとうございます。管理者権限無いので、難しいかもしれませんが、試してみます。

以下、UWSCの質問ですw
ダブルクリックを諦め、シングルクリック(というか、項目選択)して、同じダイアログ内のボタンをクリック、という流れに作り直そうとしています。
◆all_item_listの退避を行う必要があります。
ツリービューのループの中で、ボタンの内容取得(キャプションが固定でない)を行うため、listが上書きされる為です。
別の配列にコピーしたとき、情報が欠落したりしますか?

No.2683 2016/07/29(Fri) 07:17:39

Re: ListViewの項目ダブルクリックについて / stuncloud
>別の配列にコピーしたとき、情報が欠落したりしますか?
欠落しないようにコピーすれば、しません
sliceを使うと一行で複製できますよ

ALL_ITEM_LIST_CLONE = slice(ALL_ITEM_LIST, 0, length(ALL_ITEM_LIST) - 1)

No.2685 2016/07/29(Fri) 14:50:54

Re: ListViewの項目ダブルクリックについて / kei
ご回答ありがとうございます。
一行でかけるのは、カッコ良いですね。
使わせて頂きます。
帰り間際に、テキストと画像を保存するスクリプトを仕掛けておいたので、
次の工程に進むのですが、また、別の投稿で相談させて頂きます。

No.2686 2016/07/29(Fri) 21:07:50
PostgreSQLに接続し、CSVデータをアップロードしたい / KEIKEI757
お世話になります。

UWSCを使用して、
・CSVファイルを読み込み
・PostgreSQLに接続
・PostgreSQLにCSVファイルのデータをアップロードする

上記処理について、スクリプトの書き方を探しております。
PostgreSQLで使用しているバージョンは9.5となります。

サポートいただけると助かります。

No.2679 2016/07/28(Thu) 11:00:47

Re: PostgreSQLに接続し、CSVデータをアップロードしたい / しゅん
すみません、UWSCを使う必要性があるのでしょうか?
(とUWSCの掲示板で書いてみる)

バッチ処理でCOPY文を流せば良いかと思いますが、、、。
http://tech.ewdev.info/2014/06/1961/
http://qiita.com/egg_chicken/items/cec72bda3759f875285f

No.2682 2016/07/28(Thu) 20:23:28

Re: PostgreSQLに接続し、CSVデータをアップロードしたい / stuncloud
以前UWSCからPostgreSQLを扱うのにPgsqlComを使ったことがありました
今でも使えるのかな?

No.2684 2016/07/29(Fri) 14:44:17
一定時間ごとに実施して一定時間後に終了 / ayu
初心者ですが、タイトルのように、5分ごとに実施して、30分後に終了するスクリプトを探しています。よろしくお願いします。
No.2676 2016/07/28(Thu) 07:56:17

Re: 一定時間ごとに実施して一定時間後に終了 / stuncloud
sethotkey(VK_PAUSE, 0, "stop")

span = 5 * 60 // 開始間隔は5分
work = 30 * 60 // 作業時間は30分

start = gettime() + span

while TRUE
 if gettime() >= start then
  thread 30分で終わる(start + work)
  start = start + span
 else
  sleep(0.1)
 endif
wend

procedure 30分で終わる(end)
 balloon("作業中", n * 70, 10)
 if n > 9 then n = 0 else n = n + 1
 repeat
  sleep(0.1)
 until gettime() >= end
fend

public n

procedure stop
 exitexit
fend

解説
30分経ったら停止する作業がなんだかはわかりませんが、繰り返し行う単純作業だったらこんな感じで良いです
30分で終わる()関数のループ内に処理を書いたらいいと思います
スレッドをガンガン使ってますがこのくらいなら使い潰すことはないので問題ない(はず)です
軽く試したいならspan=1, work=6くらいにしてみてください、どういう感じに動くかわかると思います
Pauseキーを押して強制終了できるようにsethotkeyを使っています

No.2677 2016/07/28(Thu) 10:15:00

Re: 一定時間ごとに実施して一定時間後に終了 / ayu
早速のご教示、ありがとうございます。使わせていただきます。
ツイキャスを録画しているんですが、開始時間がいつもずれ込みますので、
パソコンの前に待機するのが面倒なのです。

No.2678 2016/07/28(Thu) 10:32:02
エクセルのマクロが2回実行される / 佐々木
エクセルのマクロ実行に関して下記現象に困惑しています。

現象:エクセルからマクロを呼び出すと正常に1度だけ実行されるが、
UWSCから.Runメソッドでマクロを呼び出すと2度実行されてしまう。
(1回呼ぶ毎にセルの値が1増えるのが正しいのですが,何故か2増えてしまいます)

 ■エクセルVBA側
  Sub test()
  '呼ばれる毎にセルの値をインクリメントする
   Worksheets("シート1").Range("A1").Value = Worksheets("シート1").Range("A1").Value + 1
  End Sub

 ■UWSC側
  Excel_S.Run("Excel.xlsm!TEST()")

  以下の様に第3引数で「実行終了を待つ」にしても2度実行されてしまいました。
  Excel_S.Run("Excel.xlsm!TEST()",,TRUE)

  セルのインクリメント以外のVBA(PRINT等)に置き換えても2度実行はされます。

ちなみに上記問題が発生したプログラムはVBA側でUWSCからのセルへの書き込みを
見張って処理する様にすれば2度実行される現象を避けることはできますが、
根本原因が不明のままではスッキリしないのでお知恵を拝借願えないでしょうか。

PS. エクセルの設定でプロセッサ数を4から1に減らしても実行回数に変化なしでした。

No.2666 2016/07/24(Sun) 12:10:38

Re: エクセルのマクロが2回実行される / しゅん
解決しなくてすみません。
ただ、UWSCの問題ではありません。

PowerShellから同様に呼び出してみましたが、2回実行されます。
ExcelのRunメソッドに何か秘密がある気がします。
なお、ExcelのRunメソッドの第三引数をTrueにしても、「実行終了を待つ」動作に変わりはないと思います。

No.2669 2016/07/25(Mon) 12:55:19

Re: エクセルのマクロが2回実行される / Nagatani
理由はわかりませんが下記のExcel.Run("Sample1.xlsm!Sample()") にすると
マクロが2回走るようで、「StrPattern = 1」 にすれば解消されるようです。

FOR LonI1 = 1 TO 5
  Excel = CreateOLEObj("Excel.Application")
  Excel.Visible = True

  StrPattern = 2

  If StrPattern = 1 THEN
   Excel.WorkBooks.Open("C:\Users\xxxxxx\Documents\Sample1.xlsm")
   Sleep(1)
   Excel.Run("Sample")

  ElseIf StrPattern = 2 THEN
   Excel.Run("Sample1.xlsm!Sample()")
  ENDIF

  EXCEL.Save
  EXCEL.QUIT
NEXT

No.2671 2016/07/25(Mon) 22:21:47

Re: エクセルのマクロが2回実行される / 佐々木
PowerShellでもご確認いただき(お手数をお掛けしてしまいましたが)、
エクセル側のバグという事でしたら解決には時間も掛かりそうなので
対処療法で逃げるのも仕方無い事と諦められます。
お蔭さまでモヤモヤが解消できました、ありがとうございました。

No.2672 2016/07/25(Mon) 22:21:51

Re: エクセルのマクロが2回実行される / しゅん
なるほど、Nagataniさんの指摘の通り、Excel.Run("Sample1.xlsm!TEST") と、カッコを外すと、1回になりますし妙なリターン(エラー)もなくなりますね。
カッコをつけると、何か問題があるようです。

引数のあるマクロ関数を
Excel.Run("Sample1.xlsm!TEST2(23)")
とか呼べてしまいますが、これは2回呼び出しを免れる方法はなさそうですね。
ただ、
Excel.Run("Sample1.xlsm!TEST2", 23)
と書くべきですが。

Runメソッドの仕様上、カッコをつける方がおかしい、といったところのようですね。

No.2673 2016/07/26(Tue) 12:36:51

Re: エクセルのマクロが2回実行される / 佐々木
Nagataniさん、しゅんさんありがとうございました。
的確なアドバイスを頂いたおかげでスマートなUWSCスクリプトを記述する事ができました。
「Runメソッドの仕様上、カッコをつける方がおかしい」という事に自分ではまったく気が付けなかったのが残念です、VBA側と同じ形でカッコ内に引数を並べて呼び出すという勝手な思い込みでコーディングしてしまってました。。。

No.2674 2016/07/26(Tue) 23:04:47
powershell、エクセルからの参照設定は可能でしょうか? / kei
お世話になります。
個人的には大変便利に使わせて頂いているのですが。
会社で使用する場合、セキュリティが厳しく、フリー版EXEファイルを実行するのも禁止されています。
powershellからアセンブリ参照したり、エクセルから参照設定してUWSCを使うことはできないでしょうか?

No.2667 2016/07/24(Sun) 14:40:16

Re: powershell、エクセルからの参照設定は可能でしょうか? / しゅん
どちらもできません。
EXE実行禁止を解除してもらえるよう、交渉するのが良いかと思います。

技術力があれば、EXEをロードして機能を使うことが可能ではありますが、そこまでして使う意味はないでしょう。
PowerShellが使えるのであれば、UIAutomationを使えばCHKIMG以外は面倒ですが、なんとかなります。
CHKIMGもがんばればなんとかなりますが、、、技術力が必要です。

No.2668 2016/07/25(Mon) 12:40:24

Re: powershell、エクセルからの参照設定は可能でしょうか? / kei
ご回答ありがとうございます。
アンマネージのdllも使えるんだから、exeも行けそうですが、橋渡し役が居なくて、ゴリゴリしないといけないかも。止めておきます。
今回、改めてお手軽さを実感しました。
ありがとうございます。

No.2670 2016/07/25(Mon) 21:23:10
指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / シスイ
指定の2つのキー、例えばaキーの場合はエクセルの空白行のa列に入力、bキーの場合はエクセルの空白行のb列に入力の方法を考えているのですが、思いつきません。if文を使えばできそうな感じもするのですが分かりません。ご指導頂けませんでしょうか?
下記のコードでa列の空白行にコピーすることで追加入力までは分かっています。

Excel = XLOPEN("C:\Users\aruke\Desktop\aaaaaaaaBook1.xlsx")
XLACTIVATE(Excel, "Sheet1")
y = 1
x = 1
SENDSTR(0, "")
while True
sleep(0.2)
ss = GETSTR(0)
ifb ss <> "" // クリップボードにある
Excel.ActiveSheet.Cells[y,1 ].Value = ss
SENDSTR(0, "") // クリップボードをクリア
y = y + 1

endif
wen

No.2659 2016/07/20(Wed) 15:01:02

Re: 指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / しき
Excel = XLOPEN()
XLACTIVATE(Excel, "Sheet1")

yA = 1  //A列の現在行
yB = 1  //B列の現在行

SENDSTR(0, "")
while True
  sleep(0.2)
  
  ifb getkeystate(vk_a) then
    x = 1
  elseif getkeystate(vk_b) then
    x = 2
  else
    continue  //a か b が押された場合のみ処理する
  endif
  
  ss = GETSTR(0)
  ifb (ss <> "")  //クリップボードにある場合のみ処理する
    ifb (1 = x) then
      y = yA
    elseif (2 = x) then
      y = yB
    endif
    
    Excel.ActiveSheet.Cells[y, x].Value = ss
    SENDSTR(0, "") // クリップボードをクリア
    
    //行送り
    y = y + 1
    ifb (1 = x) then
      yA = y
    elseif (2 = x) then
      yB = y
    endif
    
  endif
wend

No.2660 2016/07/20(Wed) 18:37:27

Re: 指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / シスイ
しき様、素晴らしいです、私のやりたい事がこんなに早く回答頂けるなんて。教えて頂いたコードでできました、ありがとうございます。
No.2661 2016/07/20(Wed) 21:49:43

Re: 指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / シスイ
上記のコードでできたのですが、1つ困った事がおきました。既存のエクセルを開いて上記スクリプトを開始して、コピー、Aキーでした所、既存のA列に以前入力した分が上書きになってしまいます。
空白行の一番後ろに入力するようにできないでしょうか?
色々考えてみたのですが、自分の実力では分かりません、ご指導頂けないでしょうか?

No.2662 2016/07/21(Thu) 08:33:33

Re: 指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / しろまさ
Helpを読みましょう。

uwsc.chm
 スクリプト
  スクリプト関数
   ウィンドウ関連
    SENDSTR

に書いてあります。まずは自分で調べて試すこと。

No.2663 2016/07/21(Thu) 13:32:50

Re: 指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / シスイ
しろまさ様、もう一度自分で調べてみます。
No.2664 2016/07/21(Thu) 13:34:55

Re: 指定の2つのキー入力で、エクセルの空白行のa列、b列入力方法について / しろまさ
読み違えていたのを今気がつきました(_ _)

ExcelをGetActiveOleObjでCOM接続後に下記操作ですね。
VBAとUWSCの表記は若干違うので適宜修正してください。
http://www.niji.or.jp/home/toru/notes/8.html

No.2665 2016/07/22(Fri) 09:26:40
エクセルのファイルが開きません。何が原因なんでしょうか? / シスイ
エクセルのファイルが開きません。何が原因なんでしょうか?
下記のコードです。

XLS1_NAME = "開きたいファイル1"
XLS2_NAME = "開きたいファイル2"
XLS3_NAME = "開きたいファイル3"


XLS1_PATH = "C:\Users\aruke\Dropbox\ファイル1.xlsx"
XLS2_PATH = "C:\Users\aruke\Dropbox\ファイル2.xlsx"
XLS3_PATH = "C:\Users\aruke\Dropbox\ファイル3.csv"



////////////////////////初期設定△△

SELECT SLCTBOX(SLCT_BTN, 0, "EXCEL_OPEN", XLS1_NAME, XLS2_NAME, XLS3_NAME)
CASE SLCT_1
PATH = XLS1_PATH
CASE SLCT_2
PATH = XLS2_PATH
CASE SLCT_3
PATH = XLS3_PATH

SELEND

Excel = XLOPEN(PATH)

No.2656 2016/07/20(Wed) 13:33:54

Re: エクセルのファイルが開きません。何が原因なんでしょうか? / sana
私の方では問題無く開けました。
XLOPENはPro版のみ使用できる関数ですが、その点は大丈夫でしょうか?

No.2657 2016/07/20(Wed) 13:48:41

Re: エクセルのファイルが開きません。何が原因なんでしょうか? / シスイ
sana様、XLOPENはPro版を使用しています。開ける場合もあるのですが、ファイルが開いていない状態でエクセルだけが立ち上がる場合が多いです。
No.2658 2016/07/20(Wed) 14:53:33
saveimg で連続保存する時の不具合 / すすむ
FOR NEXT 中に while wend を使って
saveimgで、素早く連続保存しようと

saveimg( sav1,Hnd,xPx,updY+7,15,16,TRUE,0,IMG_FORE )
xPxは17ずつ増加

なぜかFOR NEXT で 一番最後の部分しか 画像が保存されないという事が起こっています。
間に SLEEP(1) を入れれば、ちゃんと全部保存されているのです。

あとクライアント領域でなくて、スクリーン全体座標を指定すると
30秒後あたりにメモリが確保できないエラーで止まります
15x16ドットだし多くても 800x30 くらいの作業なんですが
メモリ確保できないエラーが出ます

ちょっと詳しく内容書かないと上手く伝わってないかもしれません。すいません
あとで詳しく書くかもしれません。
saveimgで思うように早く保存できなくて困ってます。

No.2641 2016/07/13(Wed) 22:48:24

Re: saveimg で連続保存する時の不具合 / 森
メモリの処理速度とハードディスクの処理速度に圧倒的な違いがあるのが原因です。
このような問題を回避するために、SLEEP()を入れます。

なので、「間に SLEEP(1) を入れれば、ちゃんと全部保存できる」というのが正解です。
スリープの時間はもっと短くても大丈夫だと思いますので調整してください。

No.2649 2016/07/17(Sun) 09:04:36

Re: saveimg で連続保存する時の不具合 / 黒猫
ちゃんと仕様を確認してから書いて下さい。
No.2655 2016/07/18(Mon) 11:55:41
csvをexcelに一括で貼り付けたい / sen
お世話になっております。
csvをexcelに一括で貼り付けたいのですが、うまくいきません。
ご教授願いませんでしょうか?


元 = fopen("zai.csv")
出力 = fopen("在庫.csv",F_READ or F_WRITE)
fput(出力,"更新日,機種,梱包,在庫,注残,機種,梱包,在庫,注残",1)
for i = 2 to fget(元, F_LINECOUNT)
  IFB fget(元,i,2) = "17A4" THEN
   一行 = fget(元,i,35)+","+"177A"+","+fget(元,i,2)+","+fget(元,i,5)+","+fget(元,i,12)
  ENDIF
  IFB fget(元,i,2) = "19A4" THEN
   一行 = 一行+","+"199A"+","+fget(元,i,2)+","+fget(元,i,5)+","+fget(元,i,12)
  ENDIF
next
ifb fget(出力,2,1) <> copy(一行,1,6) then
 fput(出力,一行,2,F_INSERT)
endif
fclose(元)
fclose(出力)

出力 = fopen("在庫.csv")
SENDSTR(0,fget(出力, F_ALLTEXT ))

Excel = XLOPEN("C:在庫.xlsx")
XLACTIVATE(Excel, "Sheet1")
KBD(VK_CTRL, DOWN)
KBD(VK_V, CLICK)
KBD(VK_CTRL, UP)

XLCLOSE(Excel)

No.2646 2016/07/17(Sun) 00:34:37

Re: csvをexcelに一括で貼り付けたい / ある
エクセルで読み込めば一発だと思いますが、UWSCでやりたいのだと解釈して進めます。
XLOPEN等は触ったことがないので、慣れている方で書かせてもらいました。

//-------------
Excel=createoleobj("Excel.Application")
Excel.visible=true
Excel.workbooks.add()

fid=fopen("在庫.csv",f_read)
元=fget(fid,f_alltext)
fclose(fid)

data=split(元,"<#cr>") //行を分割
for n=0 to resize(data)
data[n]=split(data[n],",") //行の中のデータを分割
for i=0 to resize(data[n])
Excel.cells(n+1,i+1).value=data[n][i]
next
next

No.2647 2016/07/17(Sun) 02:39:42

Re: csvをexcelに一括で貼り付けたい / 森
提示スクリプトに XLOPENが含まれているので、Pro版をお持ちのようですね。
貼り付け(セルへの入力)は、 XLSETDATAを使うと便利ですよ。

Excel = XLOPEN("在庫.xlsx")
f = fopen("在庫.csv")
for i = 1 to fget(f, F_LINECOUNT)
 for j = 1 to 9
  data = fget(f, i, j)
  XLSETDATA(Excel, data, i, j, "Sheet1") // セル位置とシート名を指定して貼り付け
 next
next
fclose(f)
XLCLOSE(Excel)

【余談1】
データを配列に格納してから、A1セル指定で一括入力する方が処理が早いかも知れません。

【余談2】
ちなみに、CSVデータのカンマをタブに変換しておくと、[CTRL]+[V]で貼り付け可能です。
※貼付範囲の大きさが違うというエラーが出るかも知れません。
※エクセルはタブ区切りということではありません。

【余談3】
提示スクリプトを見て気になったのですが、CSVはエクセルにデータを一括貼付する元データを作るためだけに使っているのですか?
もしそうだとしたら、XLSETDATAを使って最初からエクセルに入力していくように作った方がベストだと思います。

No.2648 2016/07/17(Sun) 08:53:56

Re: csvをexcelに一括で貼り付けたい / sen
ありがとうございます。

>【余談3】
>提示スクリプトを見て気になったのですが、
>CSVはエクセルにデータを一括貼付する元データを作るためだけに
>使っているのですか?


新しいデータを2行目にうまく挿入できなくて、そうなりました。
意味がないなとは、感じてました。

No.2650 2016/07/17(Sun) 11:21:07

Re: csvをexcelに一括で貼り付けたい / 森
やっぱりそうでしたね^^
では、以下のスクリプトで大丈夫だと思います。
元データが無いからテストしていませんので、不具合があれば適当に調整して下さい。
※19A4よりも手前の行に17A4が必ずあるという前提で書いてます。

csv = fopen("zai.csv")
Excel = XLOPEN("在庫.xlsx")
XLACTIVATE(Excel, "Sheet1")

dim midashi[] = "更新日,機種,梱包,在庫,注残,機種,梱包,在庫,注残"
XLSETDATA(Excel, midashi, 1, 1)

for i = 2 to fget(csv, F_LINECOUNT)
 select fget(csv,i,2)
  case "17A4"
   XLSETDATA(Excel, "177A", i, 2)
   XLSETDATA(Excel, fget(csv,i,35), i, 1)
   XLSETDATA(Excel, fget(csv,i, 2), i, 3)
   XLSETDATA(Excel, fget(csv,i, 5), i, 4)
   XLSETDATA(Excel, fget(csv,i,12), i, 5)
   range = "A" + i + ":E" + i
   data = XLGETDATA(Excel, range) // 記入したデータを配列に
  case "19A4"
   XLSETDATA(Excel, range , i, 1)
   XLSETDATA(Excel, "199A", i, 6)
   XLSETDATA(Excel, fget(csv,i, 2), i, 7)
   XLSETDATA(Excel, fget(csv,i, 5), i, 8)
   XLSETDATA(Excel, fget(csv,i,12), i, 9)
 selend
next

fclose(csv)
XLCLOSE(Excel)

No.2651 2016/07/17(Sun) 11:47:54

Re: csvをexcelに一括で貼り付けたい / sen
下記の部分を教えていただけると助かります。

range = "A" + i + ":E" + i ←
data = XLGETDATA(Excel, range) // 記入したデータを配列に←
XLSETDATA(Excel, range , i, 1)

No.2652 2016/07/17(Sun) 15:37:34

Re: csvをexcelに一括で貼り付けたい / 森
簡単なスクリプトだと思ってなめてると、やっぱり失敗しますね^^;
以下の通り、修正が2箇所あります。

dim midashi[] = "更新日,機種,梱包,在庫,注残,機種,梱包,在庫,注残"
 ↓
dim midashi[] = "更新日","機種","梱包","在庫","注残","機種","梱包","在庫","注残"

XLSETDATA(Excel, range , i, 1)
 ↓
XLSETDATA(Excel, data , i, 1)


2回続けて間違えると恥ずかしいので、以下のサンプルデータでテストしました。
zai.csv-----------------
,梱包,,,在庫,,,,,,,注残,,,,,,,,,,,,,,,,,,,,,,,更新日
,17A4,,,1,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,20160701
,19A4,,,2,,,,,,,14,,,,,,,,,,,,,,,,,,,,,,,20160702
,17A4,,,3,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,20160703
,19A4,,,4,,,,,,,16,,,,,,,,,,,,,,,,,,,,,,,20160704
,17A4,,,5,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,20160705
,19A4,,,6,,,,,,,18,,,,,,,,,,,,,,,,,,,,,,,20160706
,17A4,,,7,,,,,,,19,,,,,,,,,,,,,,,,,,,,,,,20160707
,19A4,,,8,,,,,,,20,,,,,,,,,,,,,,,,,,,,,,,20160708
,17A4,,,9,,,,,,,21,,,,,,,,,,,,,,,,,,,,,,,20160709
,19A4,,,10,,,,,,,22,,,,,,,,,,,,,,,,,,,,,,,20160710
,17A4,,,11,,,,,,,23,,,,,,,,,,,,,,,,,,,,,,,20160711
,19A4,,,12,,,,,,,24,,,,,,,,,,,,,,,,,,,,,,,20160712

No.2653 2016/07/17(Sun) 16:42:19

Re: csvをexcelに一括で貼り付けたい / sen
あるさん、森さん、ありがとうございました。
うまくいきました。

No.2654 2016/07/17(Sun) 21:19:27
全1170件 [ ページ : << 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ... 117 >> ]