VBA를 통해 네트워크 파일 서버에서 호스팅되는 폴더에 액세스해야합니다. 이 폴더는 사용자 이름과 비밀번호가있는 서비스 계정 (일반 사용자 계정과 다른)을 통해서만 서면으로 액세스 할 수 있습니다.공유 네트워크 폴더에 액세스
UI를 통해 해당 폴더를 볼 수 있으며 로컬 드라이브로 매핑 할 수 있지만 서면으로 액세스하려면 Windows에서 로그 오프하고 서비스 계정을 통해 로그온해야합니다.
일반 사용자 세션 중에 네트워크 폴더에 액세스 할 수 있지만 VBA 코드에서 사용자 이름과 암호를 하드 코딩하는 방법이 있습니까?
내가 함께 로컬 드라이브로 폴더를 매핑 시도했다 :
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "S:", "\\corp-server\HostingFolder", False, Username, pwd
을하지만, 작동하지 않았다 ("S"드라이브 매핑되지 않았습니다). 대신 사용자 이름과 비밀번호를 제공하지 않고 동일한 작업을 수행한다면 :
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "S:", "\\corp-server\HostingFolder"
완벽하게 작동합니다.
내가하려는 일이 실제로 가능한지 궁금한 점이 있으십니까? 그렇지 않다면 대안이 있습니까?
감사
좋은 물건, 고마워! 현재 집에서 일하고 있기 때문에 VPN을 통해 코드를 시험해볼 수 있었고 작동하지 않았습니다 ("잘못된 사용자 이름 또는 암호"오류가 반환되었습니다). 사용자 이름에 도메인이 있는지 여부에 관계없이 시도했습니다. 익스플로러를 통해 대상 폴더를 열어 여러 번 연결할 때도 오류를 재현 할 수있었습니다. 나는 지금 사무실에있을 때 시험 할 필요가있다. 그러나 이것은 나에게 전반적으로 좋게 들리며 작동해야한다. 내가 뭔가를 알고 있다고 믿는다면 월요일에 얘기하자. – cfugge
이것은 나를 위해 완벽하게 작동했습니다. 매우 깨끗한 코딩에 대해 많은 감사드립니다. – cfugge
안녕하세요.이 코드는 훌륭합니다. 거의 마사지를하지 않고 처음으로 일했습니다. 건배! –