2013-06-06 4 views
6

흥미로운 딜레마가 있으며 가능한지 누군가가 알고 있는지 궁금해하고 있습니다. java를 사용하여 .csv 파일을 만들고 각 행의 쉼표로 구분 된 항목 중 하나에 대해 URL을 작성합니다.Excel 셀 서식 특수 사례

예 : 나는 Excel에서 .csv 파일을로드 할 때

항목 1, 항목 2, 항목 3은

http://myurl.com 원래,이 URL의 텍스트 만로드하고 클릭하게되지 않았습니다.

= HYPERLINK ("http://myurl.com")

엑셀로드, 링크를 클릭 할 때 마우스 포인터가 변경 : 나는 파일을 작성하는 동안 그냥이 문자열을 사용하여 항목을 주변으로이 문제를 해결 할 수 있었다 손 아이콘. 유일한 문제는 당신이 그것을 보면서 셀을 가리 키지 않을 때, 그것은 단지 흰색 배경에 검정 텍스트처럼 보입니다. 일반적으로 링크가 표시되면 클릭 할 수 있음을 나타내는 밑줄이 파란색으로 표시됩니다. 이 시각적 대기열을 갖고 싶습니다만, 위의 함수를 일부 형식의 셀 서식 지정 함수로 수정하여이를 수행하는 방법이 있는지 확실하지 않습니다.

그리고 예, 조건부 서식은 무엇이며 Excel의 셀에 적용하는 방법을 알고 있습니다. 그러나, 파일이로드 될 때 작동하기 만하면되기 때문에이 방법은 저에게는 효과적이지 않습니다. 파일은 항상 내용이 변경되기 때문에 사용자가 다운로드 할 때 항상 새로운 파일로 만들어집니다. 어떤 아이디어라도 대단히 감사하겠습니다.

+0

CSV 대신 다른 형식으로 파일을 만들습니까 (예 : HTML 또는 XML)? –

+0

이 경우는 아닙니다. 파일을 다운로드하는 사람들은 csv 형식으로 파일을 필요로하므로 Excel을 포함한 여러 프로그램으로 가져올 수 있습니다. – usherjer

+0

HTML 또는 XML을 Excel로 가져올 수 있습니다. 사용자가 데이터를 가져와야하는 다른 프로그램이 있지만 HTML이나 XML을 지원하지 않는다고 말하고 있습니까? –

답변

1

.csv 파일을 두 번 클릭하여 입력 한 하이퍼 링크가 "콜드"(클릭 할 수 없음) 인 이유는 입력 된 텍스트에서 "핫"하이퍼 링크를 무시하는 부분이 우회되었습니다. .CSV 형식 원시의 URL이 아니라 = HYPERLINK() 함수를 가지고 있다면, 그들은 실행하여 뜨거운 할 수있는 다음과 같은 :

Sub HyperIgniter() 
    Dim r As Range 
    For Each r In ActiveSheet.UsedRange 
     If Left(r.Text, 4) = "http" Then 
      r.Select 
      Application.SendKeys "{F2}" 
      Application.SendKeys "{ENTER}" 
      DoEvents 
     End If 
    Next r 
End Sub 

이 그들을 만들기 때문에, 하이퍼 링크의 각을 재 입력 "핫하는 것과 동일 "그들에게 보통 형식을 제공합니다.

+2

문제는 그가받는 사람이 실행되지 않거나 매크로를받지 못하도록 CSV를 보내는 것입니다. –

1

jXLS 라이브러리를 사용하여 템플릿이있는 Excel 파일을 만들 수 있습니다. 정말 사용하기 쉽습니다. Sample

1

이것은 절대 수행 할 수 있지만 예상보다 복잡 할 수 있습니다.

먼저이 게시물의 단계를 따라야 모든 새 통합 문서에서 사용할 수있는 새로운 사용자 지정 숫자 서식을 만들 수 있으므로 고객도 마찬가지입니다.

Adding cell format options to Custom list

나는 목록을 인용 것입니다하지만 난 오히려 HansV의 훌륭한 솔루션에 대한 신용을하지 것입니다.

당신이 "[블루] 일반"

지금, 당신의 CSV 파일이 아래의 예와 같이 문자열을 저장해야 할 것이다 추가 할 옵션 : "= 텍스트 (하이퍼 링크 (" "http://www.google.com" "), ""[파랑] 일반 "") "

이제 글꼴 색을 제어하는 ​​새로운 형식을 적용하고 있습니다. google.com을 URL로 바꿉니다.까다로운 서식 지정 CSV 강제 생성물로 많은 인용문이 있으므로 필요한 곳에 쉼표를 추가하고 (TEXT 함수의 경우) 필요한 쉼표를 두 개의 셀로 분할하지 않을 것입니다.