2017-01-30 13 views
3

バッチファイルを作成して特定の範囲をExcelに貼り付けるのには少し助けが必要ですが、Excelに表示されているとおりにテキストを維持してください。
Exemple:(これは私はバッチファイルに貼り付けたいセルの内容です)Excelのメモ帳セルの内容に貼り付けますか?

"pushd N:\contracte\CONTRACTE NEVOI PERSONALE\Contracte nevoi personale 102501N - 105000N\ 
for /f ""delims="" %%a in ('dir /b /s ^| find ""104020""') do (
cd .. 
xcopy ""%%a"" ""C:\Users\agrigoriu\Desktop\COPIERE\"" /E /D /Y) 
@ECHO ---" 

問題1:すべてのコンテンツがこののように1つの行に表示されます。 pushd N:\ contracte \ CONTRACTE NEVOI PERSONALE \ 102501N - 105000N \ for/f "delims =" "%% a in( 'dir/b/s^| find" "104020" "')do cd。xcopy "" %% a "" "" C:\ Users \ agrigoriu \ Desktop \ COPIERE \ ""/E/D/Y)@ECHO --- "

問題2:それはオリジナルのテキストに存在するすべてのコンマを倍増

これは私がこれまで持っているコードであり、それが唯一のメモ帳への範囲から情報を貼り付け(上述の問題を持つ):

Sub test() 
    'The range that contains the values 
    Range("D:D").Copy 
    'Start Notepad And let it recieve focus 
    Shell "notepad.exe", vbNormalFocus 
    'Send the keys CTRL+V To Notepad (i.e the window that has focus) 
    SendKeys "^V" 
End Sub 

アイデア:Wordに最初に貼り付けてもう一度コピーしてメモ帳に貼り付けるのが1つの「解決策」ですが、これはすべての標準のコンピュータで動作する必要があります。デフォルトでオンになっています。

答えて

2

ファイルにテキストを書き込んだ後、そのファイルをメモ帳で開くと、ユーザーは書式設定を制御でき、ユーザーはクリップボードにあるものをすべてゴミ箱に入れないことができます。アレックスKの回答に基づいて

Dim hF As Integer: hF = FreeFile() 
'// get temp file name 
Dim path As String: path = Environ$("TEMP") & "\DUMP.TXT" 

Open path For Output As #hF 
    Print #hF, Replace$(Range("D1").Text, vbLf, vbCrLf) 
Close #hF 

Shell "NOTEPAD.EXE " & path, vbNormalFocus 

(これは、\ nは1行に表示されるすべての原因である\ rをする\ nを用いて細胞内に存在する新しい行を置き換え)

+0

ありがとうございますが、エラー55が発生しました:ファイルが既に開いています。 (私はそれを得ていない、どのファイルが既に開いていますか?!)。私はdump.txtとメモ帳を作った... – MisterA

+0

ファイルを開いているものを閉じて、コードは自動的にそれを作成します。 –

+0

私は何も開いていない(プロセスのリストを見て、タスクを終了する)。 – MisterA

0

、この範囲で動作します:

Sub test() 

Dim hF As Integer: hF = FreeFile() 
Dim output As String 

'// get temp file name 
Dim path As String: path = Environ$("TEMP") & "\DUMP.TXT" 
    Range("D2:D2000").Select 
Open path For Output As #hF 
    For Each c In Selection 
     Print #hF, Replace(c.Value, vbLf, vbCrLf) 
     Next c 
Close #hF 

Shell "NOTEPAD.EXE " & path, vbNormalFocus 
End Sub 
関連する問題