Excel은 셀을 HTML로 해석 할 수 있습니까?
-
12-09-2019 - |
문제
accel 문서를 프로그래밍 방식으로 구축하기 위해 aspose.cells를 사용하고 있습니다. 이것은 훌륭합니다. 그러나 세포 중 하나는 원시 HTML 블록입니다. Excel을 알 수 있는지 궁금합니다 (GUI를 포함하여 어떤 방식 으로든 Aspose API를 알 필요가 없습니다)를 구문 분석하고 셀을 HTML로 표시합니다. 지금은 텍스트 형식, 태그 및 모두의 원시 HTML로 표시됩니다.
나는 Excel이 HTML을 붙여 넣을 수 있다는 것을 알고 있지만, 그것은 단지 자체적으로 구문 분석 한 다음 Excel-Ifeife를 제공하는 것처럼 보이며 HTML을 저장하지 않으므로 실제로 구문 분석하고 표시하지 않습니다. HTML로. 또한 어쨌든이 페이스트 기능을 복제하는 방법을 알 수 없습니다.
감사.
해결책
불행히도 대답은 아니오입니다.
Excel에는 두 가지 HTML 옵션이 있습니다.
- HTML 파일을 열면 HTML이 렌더링되지만 셀에 실제 HTML을 포함하지 않습니다.
- 셀에 HTML을 저장하지만 형식화되지 않은 텍스트로 저장하십시오.
아마도 당신은 아마도 당신이 아마도 셀에 html을 입력 할 수있는 매크로를 만들 수 있었을 것입니다. 그런 다음 html을 문서로 저장하고 다른 인스턴스의 Excel에서 열어서 html을 포맷하고 원본 문서에 배치 할 수 있습니다. 그렇게하면 HTML이있는 두 개의 열이 있고 하나는 출력이 있습니다. 그럴 것입니다 매우 그래도보기 흉한. 하지 마십시오 : 0)
다른 팁
Excel에 HTML 데이터를 붙여 넣으면 HTML이 Excel에 올바르게 표시됩니다. 이것의 한 가지 문제는 캐리지 리턴과 탭이 다음 셀에 붙여 넣는다는 것입니다.
Dim objData As New DataObject
objData.SetText(sHTML)
Clipboard.SetDataObject(objData)
objRange.PasteSpecial()
올바르게 형성된 텍스트로 셀을 채 웁니다
이 코드는 하나의 셀에서 저를 위해 작동했습니다 ( @Rick의 답변에서 영감을 얻었지만 변경 사항은 거의 없었습니다. Clipboard.SetDataObject(objData)
오류가 발생했습니다 objRange.PasteSpecial()
작동하지 않았습니다) :
Private Sub Worksheet_Change2(ByVal Target As Range, ByVal sht As Worksheet)
Dim objData As DataObject 'Set a reference to MS Forms 2.0'
Dim sHTML As String
Dim sSelAdd As String
Application.EnableEvents = False
objData = New DataObject
sHTML = Target.Text
objData.SetText sHTML
objData.PutInClipboard
sht.PasteSpecial Format:="Unicode Text"
Application.EnableEvents = True
End Sub
Sub test()
Dim rng As Range
Set rng = ActiveSheet.Range("F15") 'cell to change'
Worksheet_Change2 rng, ActiveSheet
End Sub
이것 좀 봐 게시하다 자세한 내용은
전체 워크 시트에서 작동하는 것이 약간 조정하는 것이 너무 어렵지 않아야한다고 생각합니다. 하나의 특정 셀뿐만 아니라 오류를 방지하기 위해이 코드를 랩핑 할 경우 일부 IF 조건을 추가해야합니다. 이 게시물 더 많은 정보를 얻으려면
웹 브라우저 컨트롤을 사용하여 Microsoft Excel에서 간단한 HTML 통역사 (VBA)를 만드는 방법을 보여주는 흥미로운 YouTube 비디오를 발견했습니다. HTML 및 CSS 코드를 텍스트 상자에 입력하면 양식이 HTML을 웹 미리보기로 변환합니다.