Excel에서 기존 데이터 가져오기가 중단되었습니다. 이전으로 되돌리는 방법은 무엇인가요?

Excel에서 기존 데이터 가져오기가 중단되었습니다. 이전으로 되돌리는 방법은 무엇인가요?

수년 동안 저는 전기 설계용 BOM(자재 명세서)을 생성하는 반자동 시스템을 사용했습니다. 오래 전에 작성한 일부 외부 코드를 실행하는 CAD 프로그램의 스크립트를 통해 탭으로 구분된 값(TSV) 파일을 얻습니다. 이 프로세스에서는 템플릿 XLS 파일도 복사됩니다. 이 파일은 TSV 파일에 포함될 수 없는 특정 열의 형식을 정의합니다.

Excel에서 템플릿 XLS 파일을 연 다음 DATA, FROM TEXT FILE과 같은 작업을 수행하고 파일 이름을 지정한 다음 Return 키를 5번 눌러 기본값을 적용합니다. TSV 파일의 데이터는 템플릿 파일의 형식과 함께 스프레드시트에 나타납니다. 일부 셀에는 직접적인 데이터 대신 방정식이 포함되어 있습니다. 이것은 모두 의도한 대로 작동할 것입니다.

이 절차는 지난 15년 동안, 지금까지 훌륭하게 작동했습니다. 분명히 Microsoft는 지난 몇 주 동안 내 Win10 노트북에서 Excel을 업데이트했는데 이제 모든 것이 손상되었습니다. 당신이 얻는 것데이터 > 텍스트에서 > 파일 이름완전히 다릅니다. 이제 이전의 모든 컨트롤이 누락되어 이제는 잘못 추측됩니다. 일부 "레거시" 모드를 활성화하는 확실한 방법을 찾을 수 없으며 더 자세한 내용을 제공할 방법도 없습니다. 이전과 다른 작업을 수행하고 프로세스가 중단됩니다.

실제로 상황을 망치는 두 가지 비호환성이 있는 것 같습니다.

  1. 첫 번째 행의 첫 번째 셀에 숫자가 포함되면 이제 자체 제목 행이 자동으로 추가됩니다. 저는 빌드할 보드의 총 개수로 셀 A1을 사용하고 있었기 때문에 해당 숫자에서 다양한 수량을 계산했습니다. 첫 번째 행의 나머지 셀은 내 열 제목입니다. 첫 번째 열의 맨 위에 숫자가 있어도 괜찮습니다. 그건 내 일이 되어야 해.

    자체 제목 행을 추가하면 내 모든 방정식이 수직으로 하나씩 어긋납니다. 엉망이야!

  2. 방정식 가져오기가 중단되었습니다. 첫 번째 문자로 "="가 포함된 셀을 가져오면 "=" 앞에 공백을 추가한 다음 결과적으로 나머지를 문자열로 처리합니다. 스프레드시트의 공간을 수동으로 편집하면 의도한 방정식을 얻을 수 있습니다. 그러한 셀이 수백 개 있으므로 수동으로 모두 수정하는 것은 선택 사항이 아닙니다.

이전 작업으로 돌아가려면 어떻게 해야 하나요? 나는 Excel 전문가가 아니며 실제로 그렇게되고 싶지도 않습니다. 계속해서 BOM을 생성하고 싶습니다.

실험으로 TSV 파일의 몇 줄을 수동으로 CSV 파일로 변환했습니다. 이를 가져오면 동일한 문제가 발생합니다. CSV 파일 이름을 입력하기만 하면 데이터가 올바르게 로드된 Excel이 표시되지만 물론 내 열 형식이 그런 식인지는 알 수 없습니다.

먼지가 많이 쌓인 곳에서 TSV 파일을 생성하는 프로그램을 찾아 필요에 따라 변경하는 것은 어렵지 않습니다. 예를 들어, 지금 CSV 파일이 꼭 필요하다면 그걸로 충분합니다. 일부 셀의 텍스트 문자열에 있는 특수 문자를 피하기 위해 오래 전에 TSV 파일을 만든 것 같습니다. 다시 말하지만, 이 모든 것은 몇 주 전까지 수년 동안 작동했습니다.

답변1

이렇게 하면 가져올 파일을 선택하고 열 수 있으며, 새 통합 문서가 열리고 값만 붙여넣습니다. 저는 다음에서 약간 수정했습니다.여기.

Sub Makro1()

Dim fullpath As String

' Makro1 Makro
' Makro indspillet 13-07-2013 af Eric Bentzen
'

'
'Display a Dialog Box that allows to select a single file.
'The path for the file picked will be stored in fullpath variable
  With Application.FileDialog(msoFileDialogFilePicker)
        'Makes sure the user can select only one file
        .AllowMultiSelect = False
        'Filter to just the following types of files to narrow down selection options
        .Filters.Add "Text Files", "*.TSV; *.TXT; *.CSV , 1"
        'Show the dialog box
        .Show
        
        'Store in fullpath variable
        fullpath = .SelectedItems.Item(1)
        
    End With
    
On Error GoTo EndSub

Workbooks.OpenText Filename:=fullpath, _
   Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, _
   TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
   Tab:=True, Semicolon:=False, Comma:=False, Space:=False, _
   Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
   Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
   Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), _
   Array(11, 1), Array(12, 1), Array(13, 1)), _
   TrailingMinusNumbers:=True
   
EndSub:

End Sub

13줄만 할 수 있을 것 같지만 적절하게 수정될 수 있습니다.

관련 정보