2013-10-29 2 views
2

아주 짧은 질문이지만, 온라인으로는 그 답을 알 수없는 것 같습니다.전체 네트워크 이름을 가진 파일을 열면 시트 이름이 바뀝니다.

나는이 수행 할 때 내가 할 때

Workbooks.Open ("Y:\ME\Trends.xlsm") 

모든 좋은이며, 모든하지만, 작품이 :

Workbooks.Open("\\*full network name*\ME\Trends.xlsm") 

차트 이름을 변경합니다. 통합 문서는 본질적으로 서로 다른 이름을 가진 10 개의 차트입니다. 전체 네트워크 이름으로 열면 여전히 열리지 만 시트 이름은 "차트 1", "차트 2"등이됩니다. 수정 사항이 있습니까?

+0

무엇이든지 고쳐야 할 경우 먼저 어떻게 작동하는지 알아야합니다. 네트워크 위치에서 여는 것이 반드시 원인 일 수는 없으므로 원인은 무엇이라고 생각하십니까? 신뢰할 수있는 위치입니까? 매크로가 가능합니까? Auto_Open 또는 Workbook_Open 이벤트 코드가 있습니까? –

+0

신뢰할 수 있고 매크로가 활성화되어 있습니다. 나는 이것을 다른 통합 문서에서 자동 열어 보았는데, 이것이 내가 가지고있는 유일한 행이다. 그래서 근본적으로, 그 한 줄은 내 전체 코드입니다. 단지 주위에'Sub Auto_Open'과'End Sub' 만 있으면됩니다. 그래서, 내가보기에, 만약 그것이 유일한 라인이고 에러가 오직 'Y :'를 꺼낼 때 발생한다면, 이것은 VBA 관점에서 에러의 유일한 원천입니다.이 옵션을 방해 할 수있는 디폴트 옵션이 없다면 . –

+1

실행 (Windows + R)에서 경로를 복사하고 열리면 테스트 해보십시오. – Makah

답변

1

이 문제를 다시 만들 수는 없지만 통합 문서를 여는 다음 대체 방법이 도움이 될 수 있습니다.

Option Explicit 
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 

Sub OpenTest() 
Dim objXL As Object 
Dim oShell As Object 
Dim strExcel As String 
Dim WBPath As String 

strExcel = Chr(34) & "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" & Chr(34) & " /e " 

WBPath = "\\*full network name*\ME\Trends.xlsm" 

Set oShell = CreateObject("WScript.Shell") 
Set objXL = Nothing 
oShell.Exec (strExcel & Chr(34) & WBPath & Chr(34)) 
Sleep 2000 
Set objXL = GetObject(WBPath).Application 
objXL.Application.Goto objXL.Sheets(1).Range("A1"), True 
Set objXL = Nothing 
End Sub 
+0

@B Hart Nice! 다시 말하지만, 코드가 아닌 개인 네트워크 오류라고 가정하고 있지만 완벽하게 작동합니다. 제안 해 주셔서 감사합니다! –

+0

Sidenote 내 사무실 폴더가'\ Office14'이 아니며 다른 사람이이 아이콘을 보는 경우 12 번 (네트워크 이름과 함께)을 변경해야합니다. –

+0

@JoeLaviano - 나는 당신을 위해 일하는 것을 기쁘게 생각합니다. 후속에 감사드립니다 :) –

관련 문제