2014-02-26 3 views
0

여기에 첫 번째 게시물이 있지만 오랫동안 숨어 있었어. 저는 Outlook의 VB를 매크로에 사용하는 회사에서 일하고 있습니다. 사용자 지정 작업 양식에서 모든 작업을 수행하고 있습니다. 사전 -에서 (모두가 권한이있는 경우)VBScript outlook에서 네트워크 드라이브에 파일/폴더 만들기

  1. 우리의 로컬 서버/네트워크 드라이브에 폴더를 만듭니다
  2. 복사 파일 및 폴더 : 음 나는 것 서브를 활성화 할 수있는하여 추가 할

    Dim  fso 
    Dim  sourceFol 
    Dim  DestFol 
    Dim  variable1 
    Dim  variable2 
    
    Set fso = CreateObject("Scripting.FileSystemObject") 
    If ClientCode = "1" Then 
        sourceFol = "\\S:\sourcepath" 
        DestFol = "\\S:\destination\"& variable1 &" - "& variable2            
        ElseIf ClientCode = "2" Then 
        sourceFol = "\\S:\sourcepath" 
        DestFol = "\\S:\destination\"& variable1 &" - "& variable2            
         ElseIf ClientCode = "3" Then 
         sourceFol = "\\S:\sourcepath" 
         DestFol = "\\S:\destination\"& variable1 &" - "& variable2   
    End If 
    
    If Error Then 
        WScript.Echo "Error: " & Err.Number 
        WScript.Echo "Source: " & Err.Source & "Description:" & Err.Description 
        Err.Clear 
        Else 
        'Cancel 
    End If 
    
    : 새로운 목적지로했다 "템플릿"폴더는
  3. 는 변수 이름 현재

I 해요에서 함께 새로운 디렉토리에있는 파일의 이름을 바꿉니다

유일한 문제는 내가 어떤 반응을 보지 않고, 아무런 오류도없고, 내가 본 것을 생각하지 않는다는 것입니다. 이것이 내 목록에있는 숫자 1 인 것으로 보는 것만 큼 나는 매우 실망스럽지 않습니다. 누구든지 좋은 팁, 포인터 또는이 경우 확인할 사항이 있습니까? 감사.

+2

다음 오류 이력서에 제거하고 다시 실행하십시오. 어디에서나 오류를 처리하지 않으므로 자신이 무엇인지 잘 모릅니다. –

+0

경로는 '\\ Server \ sourcepath'와 비슷해야합니다. –

+0

'기타 '는 문제 중 하나입니다. VB 언어는'ElseIf'를 대신 사용합니다. 하지만 나단과 동의합니다. 'On Error Resume Next'를 비활성화하십시오. 이 섹션에서는 정말 필요하지 않습니다. – Bond

답변

0
Dim fso 
Dim clientcode 
Dim variable1 
Dim variable2 
Dim Folder 

ClientCode = Trim(Item.UserProperties("Client")) 

If ClientCode = "1" Then 
    folder = "R:\path"& variable1 &"-"& variable2 
    ElseIf ClientCode = "2" Then 
    folder = "R:\01 - CHA\"& variable1 &"-"& variable2 
     ElseIf ClientCode = "3" Then 
     folder = "R:\03 - REOR\"& variable1 &"-"& variable2 
End if 

Set fso = CreateObject("Scripting.FileSystemObject") 
    If Not fso.FolderExists(folder) Then 
     fso.CreateFolder (folder) 
     MsgBox "Folder Successfully Created and Named" 
    Else 
     MsgBox folder & " already exists!", vbExclamation, "Folder Exists" 
    End If 
0

이 코드는 먼 길을 가야합니다. 그러나 여기에 코드 개정판이있어 출력물을 얻을 수 있습니다.

Dim  fso 
Dim  sourceFol 
Dim  DestFol 
Dim  variable1 
Dim  variable2 
Dim  result 

Set fso = CreateObject("Scripting.FileSystemObject") 
If ClientCode = "1" Then 
    sourceFol = "\\S:\sourcepath" 
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2            
    result = "Succeeded in string set: 1" 
ElseIf ClientCode = "2" Then 
    sourceFol = "\\S:\sourcepath" 
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2            
    result = "Succeeded in string set: 2" 
ElseIf ClientCode = "3" Then 
    sourceFol = "\\S:\sourcepath" 
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2 
    result = "Succeeded in string set: 1" 
Else 
    result = "Client Code did not match comparison results [" & ClientCode & "]" 
End If 

If Err.Number<>0 Then 
    WScript.Echo "Error: " & Err.Number 
    WScript.Echo "Source: " & Err.Source & "Description:" & Err.Description 
    Err.Clear 
Else 
    wscript.echo result 
End If 
+0

Err 섹션에 대한 시각을 가져 주셔서 감사합니다. 그러나 여전히 출력이 전혀 나오지 않고 있으며 어딘가에 신참/바보 같은 실수를 한 것처럼 느껴집니다. cmd_click()이 모든 것을 선언 했으므로, 사용되는 버튼에 대한 옵션이며 여전히 응답이 없습니다. –

+0

Outlook 매크로 필드에서 직접 프로그래밍하고 있습니까? – Rich

+0

이 버튼은 클릭 가능한 버튼으로 지정되는 사용자 정의 작업 양식에 사용됩니다. 매크로 버튼에서도 실행할 수 있습니다. 나는 약간 다른 접근법으로 지금 이것을 알아 낸 것입니다. 내 문제는 이제 폴더 안의 파일을 이동하고 이름을 변경하는 것과 관련되어 있습니다. –

관련 문제