none
구성 요소에 excel applicaiton이 없을때 RRS feed

  • 질문

  • 구성요소에 [DCOM 구성] 하위의 Microsoft Excel Application이  없습니다.

    그것을 수정 해야 한다는데 저는 없습니다.

    정품 windows8을 사용중 입니다.

    정품 오피스 2007을 사용하고

    스튜디오 2012를 사용 하고 있습니다.

    추가 참조에서도 microsoft excel 12.0 object library 을 했습니다. 

           Dim objExcel As Object
            Dim objBook As Object
            Dim COIL_C As String = ""
            Dim range As Excel.Range ' 연결이 않됩니다
            objExcel = CreateObject("Excel.Application")  '엑셀 어플리케이션 생성
            objBook = objExcel.Workbooks.Open("D:\VB\공조기선정\엑셀\냉수코일계산서.xlsx", True)  '파일 열기..

            range = objBook.Worksheets("냉수코일계산서")  ' 실행 에라

            range("D2").value = 공사명 '공사명  ' 실행 에라

    만은 확인한 결과 구성요소를 바꾸어야 한다는데 windows8에서는

    어디에서 바꾸나요 아니면(Dim range As Excel.Range )어떻게 사용하나요

    도와주세요

     park4211341@네이버로 부탁 합니다.





    • 편집됨 박희철 2013년 4월 9일 화요일 오전 5:09
    2013년 4월 9일 화요일 오전 1:43

답변

  • Visual Basic에서 Excel로 데이터를 전송하는 방법

    http://support.microsoft.com/kb/247412

    Visual C#에서 Excel을 자동화하여 배열을 통해 일정 범위의 데이터를 채우거나 가져오는 방법

    http://support.microsoft.com/kb/302096/ko

    참고하세요.

    그런데 상단에 Imports Microsoft.Office.Core , Import Microsoft.Office.Interop.Excel 이런건 선언하신건가요?

    뭔가 Import가 빠진듯합니다. 아니면 이런식으로 전체를 다 적어주면 될것 같습니다.       

    Dim excel As New Microsoft.Office.Interop.Excel.ApplicationClass
    Dim wBook As Microsoft.Office.Interop.Excel.Workbook
    Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet

    Dim range As Microsoft.Office.Interop.Excel.Range

    수고하세요.^^




    • 편집됨 GoldrushKoreaMVP 2013년 4월 10일 수요일 오전 1:31
    • 답변으로 표시됨 박희철 2013년 4월 12일 금요일 오전 3:50
    2013년 4월 10일 수요일 오전 1:14
  • 참고하라고 드린 소스를 그대로 넣으셨군요. ^^ 우선 위 그림에 있는 참조를 추가하시구요.

    Imports Excel = Microsoft.Office.Interop.Excel
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim objExcel As Object
            Dim objBook As Object
            Dim COIL_C As String = ""
            Dim range As Excel.Range
            objExcel = CreateObject("Excel.Application")  '엑셀 어플리케이션 생성
            objBook = objExcel.Workbooks.Open("D:\VB\공조기선정\엑셀\냉수코일계산서.xlsx", True)  '파일 열기..
            range = objBook.Worksheets("냉수코일계산서")
            range("D2").value = "공사명" '공사명  
        End Sub
    End Class

    이렇게 코딩해보세요.

    제가 편의상 Form1_Load 에 희철님의 코딩을 넣었지만 실제로는 Import부분만 참고하시면 되겠습니다.

    그럼..

    • 답변으로 표시됨 박희철 2013년 4월 15일 월요일 오후 12:32
    2013년 4월 12일 금요일 오전 10:34

모든 응답

  • Visual Basic에서 Excel로 데이터를 전송하는 방법

    http://support.microsoft.com/kb/247412

    Visual C#에서 Excel을 자동화하여 배열을 통해 일정 범위의 데이터를 채우거나 가져오는 방법

    http://support.microsoft.com/kb/302096/ko

    참고하세요.

    그런데 상단에 Imports Microsoft.Office.Core , Import Microsoft.Office.Interop.Excel 이런건 선언하신건가요?

    뭔가 Import가 빠진듯합니다. 아니면 이런식으로 전체를 다 적어주면 될것 같습니다.       

    Dim excel As New Microsoft.Office.Interop.Excel.ApplicationClass
    Dim wBook As Microsoft.Office.Interop.Excel.Workbook
    Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet

    Dim range As Microsoft.Office.Interop.Excel.Range

    수고하세요.^^




    • 편집됨 GoldrushKoreaMVP 2013년 4월 10일 수요일 오전 1:31
    • 답변으로 표시됨 박희철 2013년 4월 12일 금요일 오전 3:50
    2013년 4월 10일 수요일 오전 1:14
  • 이렇게 해결 했습니다.

    Imports EXCEL = Microsoft.Office.Interop.Excel

    Public Class 장비일람표
     Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Dim objExcel As excel.Application
            Dim objBOOK As excel.Workbook
            Dim objsheet As excel.Worksheet

            Dim FILES_명 As String
            Dim SHEET_명 As String

            FILES_명 = "D:\VB\공조기선정\엑셀\장비일람표.xlsx"
            SHEET_명 = "냉수코일계산서"

            objExcel = CreateObject("Excel.Application")  '엑셀 어플리케이션 생성
            objBOOK = objExcel.Workbooks.Open(FILES_명)
            objsheet = objBOOK.Worksheets.Item(SHEET_명)

             objsheet.Range("D2").Value = 공사명
             objsheet.Range("R3").Value = 날짜
             objsheet.Range("O2").Value = 장비번호

            objBOOK.SaveAs(save화일명)
            objBook.Close()  '화일 닫기
            objExcel = Nothing '엑셀프로그램 종료
            objExcel.Quit()

        End Sub
    End Class


    • 편집됨 박희철 2013년 4월 12일 금요일 오전 10:13
    2013년 4월 12일 금요일 오전 6:50
  • 참고하라고 드린 소스를 그대로 넣으셨군요. ^^ 우선 위 그림에 있는 참조를 추가하시구요.

    Imports Excel = Microsoft.Office.Interop.Excel
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim objExcel As Object
            Dim objBook As Object
            Dim COIL_C As String = ""
            Dim range As Excel.Range
            objExcel = CreateObject("Excel.Application")  '엑셀 어플리케이션 생성
            objBook = objExcel.Workbooks.Open("D:\VB\공조기선정\엑셀\냉수코일계산서.xlsx", True)  '파일 열기..
            range = objBook.Worksheets("냉수코일계산서")
            range("D2").value = "공사명" '공사명  
        End Sub
    End Class

    이렇게 코딩해보세요.

    제가 편의상 Form1_Load 에 희철님의 코딩을 넣었지만 실제로는 Import부분만 참고하시면 되겠습니다.

    그럼..

    • 답변으로 표시됨 박희철 2013년 4월 15일 월요일 오후 12:32
    2013년 4월 12일 금요일 오전 10:34
  • 감사 합니다

    덕분에 해결 할수 있었습니다.

    또하나에 걸려있는 문제가

    dim acadApp As Object
    dim acadDoc As Object
    dim moSpace As Object

    dim lineobj As AcadLine     

    dim start_point(0 To 2) As Double
    dim end_point(0 To 2) As Double 
    Dim AX(0 To 4), AY(0 To 4)

        Set acadApp = GetObject(, "AutoCAD.Application")
    '-------------------------------------------------------------------------
        Set acadDoc = acadApp.ActiveDocument
        Set acadutil = acadDoc.Utility
        Set moSpace = acadDoc.ModelSpace
    '-------------------------------------------------------------------------
        For I = 0 To 4
            start_point(0) = AX(I) :         start_point(1) = AY(I) :        start_point(2) = 0
            end_point(0) = AX(I + 1) :        end_point(1) = AY(I + 1):        end_point(2) = 0
           Set lineobj = moSpace.AddLine(start_point, end_point)

          start_point(0) = end_point(0): start_point(1) = end_point(1): start_point(2) = 0
         Next I

    windows xp, acad2002 을 사용하고

    참조애서 acad2002로드 하여  vb6.0에서 쓰고 있었습니다.

    그런데

    windows8, acad2013 을 사용하여 vb.net 2012를 써서 같은 프로 그램을

    변경 해야 하는데 방법좀 알려 주세요

    2013년 4월 15일 월요일 오후 11:27