2011-06-16 9 views
-1

Excelファイルから値を読み取り、それに応じて別のファイルの値をすべて置き換える方法を見つける必要があります。基本的には、私たちが実行する自動化されたタスクの中にいくつかの不一致があることがわかりました。自動化されたタスクに送る前にファイル内の値を変換する必要があります。私は "間違った"値とそれに対応する "正しい"値を列挙したExcelファイルを持っており、Power Shellがこれをどのように助けてくれるかが必要です。値をExcelから読み込み、Powershellを使用して別のファイルに置き換えます。

$docID = $args[0] $docid #Read Z ticker file 
$Zfile = 'I:\IS\Rishabh\Z tickers Active.xls' # Find the .rps file imported automatically from schwab trust 
$RPSFile= 'L:\Trading\Schwab Trust\Import\CS<%dmmdd-01yy>.RPS' 
While (Get-Content $ZFile) 
{ 
    $_-cmatch 'A$','B$'| Set-Variable X-ticker # End Loop 
} 
(Get-Content $RPSfile) | ForEach-Object { $_-replace '%, ' ,'X-ticker' #End Loop } 
Set-Content $RPSFile 
+0

自動化されたタスクはどの言語で実行されますか?仲介を必要とするのではなく、そのプログラムを使用してExcelファイルを読む方が速いかもしれません。 – jonsca

+0

Rishabh、ここでは非常に大量のコードが必要ですね。 VBAを使うのは簡単ではないでしょうか? – codepoke

+0

さて、自動化されたタスクは、私たちのクライアントアプリケーションであるRelius(これは言語を知らない)を介して実行されます。基本的には、毎朝Reliusに運営されている取引パートナーからファイル(.rps形式)をインポートし、結果を提供します。しかし、最近、そのインポートされたファイルには、Reliusから読み込めないデータが含まれていて、最終結果が奇妙です。インポートされたファイルはExcelではなく、.rps形式です。私はExcelファイルを読んで(私の同僚が私を送ってくれました)、それに応じて.rpsファイルの "間違った"値を置き換えてください。 – Rishabh

答えて

2

Powershellを使用する必要はありません。 Excel自体には、あなたが望むことをするための仕組みが組み込まれています。たとえば、ExcelでLOOKUP関数を使用できます。

+0

さて、自動化されたタスクは、私たちのクライアントアプリケーションであるRelius(これは言語を知らない)を介して実行されます。基本的には、毎朝Reliusに運営されている取引パートナーからファイル(.rps形式)をインポートし、結果を提供します。しかし、最近、そのインポートされたファイルには、Reliusから読み込めないデータが含まれていて、最終結果が奇妙です。インポートされたファイルはExcelではなく、.rps形式です。私はExcelファイルを読んで(私の同僚が私を送った)、それがReliusに実行される前に.rpsファイルの "間違った"値を置き換える方法が必要です。 – Rishabh

+0

さて、私のコードはこれまで通りです。$ docID = $ args [0] $ docid #読み込みZティッカーファイル $ Zfile = 'I:\ IS \ Rishabh \ Z tickers Active.xls' #を見つけてください。 (Get-Content $ ZFile) { $ _-cmatch 'A $'、 'B']]を選択すると、 $ '|セット変数Xティッカー #エンドループ } (Get-Content $ RPSfile)| ForEach-Object { $ _- '%、'、 'X-ticker'を置き換えます #エンドループ } セットコンテンツ$ RPSFile – Rishabh

+0

コメントはコードサンプルで更新してください。コメントはコードをうまくフォーマットせず、誰もそのように読むつもりはありません。 –

関連する問題