2013-05-12 5 views
0

여기 제가하는 일은 요지입니다. 나는 행렬별로 1 차원 배열로 간단한 2 열의 CSV 파일을 읽어야하는 리본 버튼이 있습니다. 그리고 배열을 Excel의 처음 두 열에 써야합니다.셀 범위에 배열을 쓰려고 시도합니다.

나는 배열에 성공적으로 읽습니다. (아래의 msgbox 줄을 확인하십시오.) 그러나 나는 내 인생에서 시트에 쓸 내용을 얻을 수 없습니다. Button1_Click 하위에서

Imports Microsoft.Office.Tools.Ribbon 
Imports Microsoft.Office.Interop.Excel 
Imports Microsoft.Office.Tools.Excel 
Imports System.Text 
Imports Microsoft.Office.Core 
Imports Microsoft.VisualBasic.FileIO 

Public Class MyRibbon 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button1.Click 

     Dim filename As String = "C:\DATA_csvtest.TXT" 
     Dim fields As String() 
     Dim delimiter As String = "," 
     Using parser As New TextFieldParser(filename) 
      parser.SetDelimiters(delimiter) 
      While Not parser.EndOfData 
       ' Read in the fields for the current line 
       fields = parser.ReadFields() 
       ' Add code here to use data in fields variable. 

       MsgBox(fields(0) + " " + fields(1)) 'verifies above code is working 

       Range("A1:B1").Value2 = fields 

      End While 
     End Using 

    End Sub 



    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button2.Click 

     Worksheet("Sheet1").Range("A1").Value = 3.14159 

    End Sub 



    Private Sub MyRibbon_Load(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) Handles MyBase.Load 

    End Sub 

End Class 

, 나는 "범위는 유형이고 식으로 사용할 수 없습니다"라는 오류를 받고 있어요 Range("A1:B1").Value2 = fields합니다.

Button2_Click sub에서 저는 단일 셀에 정적 값을 쓸 수 있는지보고 싶었습니다. 나는 다른 SO 또는 어쩌면 MSDN 게시물에 코드의 정확한 라인을 발견 ... 지금은 기억이 안나요. 어느 쪽이든, "Worksheet"가 모호하며, 네임 스페이스 또는 유형 'Microsoft.Office.Tools.Excel, Microsoft.Office.Interop.Excel'에서 가져 왔습니다. "

저는 비교적 새로운데, 구분 된 데이터를 엑셀로 가져 오기위한 말 그대로 많은 소스/방법을 시도해 보았습니다. 구체적으로 셀/범위에 데이터를 쓰는 것이 더 구체적입니다.

내가 누락 된 내용/잘못된 내용을 여기에서 볼 수 있습니까? 또는 셀/범위에 데이터를 쓰려고 시도 할 수있는 다른 방법이 있습니까?

+0

VB.NET에서 새 Excel 통합 문서를 만들고 CSV 파일의 값을 추가 하시겠습니까? –

답변

0

ActiveWorkbook.Sheets("Sheet1").Range("A1").Value=3.14159

+0

이 오류가 발생했습니다 : 'ActiveWorkbook'이 선언되지 않았습니다. 보호 수준으로 인해 액세스 할 수 없습니다. – user2374136

0

이 Button_2에 코드가 작동 했 사용해보십시오? 다음과 같은 것을 사용해야 할 수도 있습니다.

Globals.ThisWorkbook.Worksheets("Sheet1").Range("A1").Value2 = 3.14159

그리고 코드의 첫 번째 비트 는 데이터 파일이 하나의 행과 두 개의 열을 가지고? 여러 행이있는 경우 각 반복 후에 첫 번째 셀을 덮어 쓰는 것처럼 보이기 때문입니다.

당신은 각 반복 (간단한) 행 번호를 증가 할 수 또는 당신이 이 아래로 이전의 반복을 추진하기 위해 첫 번째 셀을 통해 아래로이동을 삽입 할 수 있습니다. 모든 데이터를 포함하는 더 큰 배열을 만들고 모든 행을 한 번에 설정할 수도 있습니다.

관련 문제