나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 참죤날 (goodays)

추천:  2
파일:     조회:  3264
제목:   네트웤 피시에 화일 저장
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 2010

* 아래줄에 질문을 작성하세요 >>

안녕하세요

엑셀파일을 공동으로 사용하려고 네트워크상에 다른 PC에 저장해 놓고

엑셀 VBA 화일을 실행할 때마다 화일을 불러와서 작업을 하고 

저장하려고 합니다 초기 화일은 잘 Open 하는데 

 Save 할 때 문제가 발생하여 저장이 않됩니다.

 네트웤 피시는 암호없이 공유되어 있습니다

오류내용은 "런타임 오류가 발생하였습니다" 일반적으로 표기되는 내용입니다.

프로그램은 아래와 같습니다

해결 부탁드립니다. 



rrt = "1709-010"    '발주번호
   
Folder_Na = "\\Dwi-produc1\scan\진성테크\대장\"
    
Workbooks(Folder_Na & "JT 발주서-" & rrt & "-.xlsx").Save '화일 저장


 
[불량 게시물 신고]  
조삿갓Save할 파일명을 그렇게 지정하면 안됩니다.
그리고 Save 메소드는 파일명을 지정할 수 없습니다. 원래의 이름으로 저장만하는 명령이니까 SaveAs로 해야합니다.

ActiveWorkbok.SaveAs Folder_Na & "JT 발주서-" & rrt & "-.xlsx"

물론 이 명령 이전에, 저장할 워크북을 Select 또는 Activate로 활성화 시켜 놓아야 하지요.
09-15 (19:17)
삭제 ■신고
참죤날감사드립니다.
ActiveWorkbok.을 ActiveWorkbook 로 수정하여 해결했습니다.

네트워크에서 원래이름 저장하는 명령어는 무엇인지요?
09-16 (09:45)
삭제 ■신고
참죤날위에서는 rrt라는 변수를 없애고 실행해 보니 파일이 저장되었습니다.

rrt 변수를 살리고 테스트를 해보니
화일은 생성이 되는데 런타임 오류가 발생합니다.

"SaveAs 메서드('_Workbook'개체의)에서 오류가 발생하였습니다"
라고 뜹니다

다시 해결 부탁드립니다

09-16 (11:40)
삭제 ■신고
조삿갓"원래의 이름"이란 드라이브 명칭과 폴더 경로 및 파일명을 모두 포함하는 고유의 URL입니다.
드라이브를 변경(네트워크 포함)하든, 폴더 경로만 변경하든, 파일명이나 확장자를 변경하든... 모두가 "다른 이름으로 저장"입니다. VB가 아닌 보통의 저장 명령으로 드라이브나 네트웍 경로, 폴더 경로를 변경하여 저장하려면 어찌해야 하나요?
[파일]-[저장] 메뉴가 아니지요? [파일]-[다른이름으로 저장] 해야 하지요?

런타임 오류의 원인은  rrt라는 변수 때문이 아니고 다른 이유인 것 같네요.
혹시 덮어쓰기 경고 창에서 [아니오]를 선택하셨나요? 그랬다면 런타임 오류가 발생할 수 있습니다. 이 때 해당 네트워크에 생성된 것으로 보이는 파일은 사실은 이번에 저장한 게 아니고 저번에 저장된 것이겠지요.
덮어쓰기 경고 메시지 없이 무조건 저장하는 방법은 제가 알기로는 없는 걸로 알고 있습니다.
On Error Goto 문을 이용해서 덮어쓰기에 '취소'했을 경우에 대해 처리하시기 바랍니다.
09-17 (23:17)
삭제 ■신고
조삿갓예)
Sub ...
   ...
   On Error GoTo noover
   ActiveWorkbook.SaveAs Filename:=fname
   Exit Sub
noover:
   MsgBox "저장이 취소되었습니다."
End Sub
09-17 (23:23)
삭제 ■신고
        
  

작성일 : 2017-09-14(15:31)
최종수정일 : 2017-09-14(15:31)