'기타'에 해당되는 글 5건

  1. 2024.07.08 SpreadJs에서 .sjs파일 사용
  2. 2024.05.23 엑셀 매크로 관련
  3. 2023.11.18 git 복사 (미러링)
  4. 2023.11.18 git submodule
  5. 2023.11.09 github

 

spreadJs의 디자이너를 통해 .sjs파일을 만들어 포매팅에 이용할 수 있다.

import React, { useEffect, useRef, useState } from 'react';
import Head from 'next/head';
import GC from '@mescius/spread-sheets'; // 또는 '@grapecity/spread-sheets'
import '@mescius/spread-sheets-resources-ko';
import '@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css';

const HomePage = () => {
  const containerRef = useRef(null);
  const [spread, setSpread] = useState(null);

  useEffect(() => {
    if (containerRef.current && !spread) {
      const newSpread = new GC.Spread.Sheets.Workbook(containerRef.current, { sheetCount: 1 });
      setSpread(newSpread);
      console.log('Spread initialized:', newSpread);

      // .sjs 파일 로드
      fetch('/data/spreadsheet.sjs')
        .then(response => response.json())
        .then(json => {
          newSpread.fromJSON(json);
          console.log('Spread loaded from .sjs file:', json);
        })
        .catch(error => console.error('Error loading .sjs file:', error));
    }
  }, [containerRef, spread]);

  useEffect(() => {
    return () => {
      if (spread) {
        spread.destroy();
      }
    };
  }, [spread]);

  return (
    <div>
      <Head>
        <link rel="stylesheet" href="/scripts/gc.spread.sheets.17.0.7.css" />
      </Head>
      <h1>SpreadJS Example</h1>
      <div ref={containerRef} className="spreadContainer" style={{ top: '240px', bottom: '10px', position: 'relative', height: '500px' }}>
        {/* SpreadJS 워크북이 여기에 표시됩니다 */}
      </div>
    </div>
  );
};

export default HomePage;
Posted by yongary
,

엑셀 매크로 관련

기타 2024. 5. 23. 15:20

엑셀에서 매크로 사용전에 체크사항: 

 

  • 보안 설정: 매크로 실행을 위해서는 엑셀의 매크로 보안 설정을 적절히 조정해야 할 수도 있습니다. 파일 > 옵션 > 보안 센터 > 보안 센터 설정 > 매크로 설정에서 매크로를 활성화할 수 있습니다.
  • 참조 설정: HTTP 요청을 처리하기 위해 Microsoft XML, v6.0 참조를 추가해야 할 수도 있습니다. VBA 편집기에서 도구 > 참조를 선택한 후, 해당 항목을 체크합니다.

개발도구 리본 보이기:
 파일->옵션->리본설정 

 

 

엑셀매크로에서 이미지 전송 예제: 이미지뷰어 필수

Sub SendImageToKakaoTalk()
    Dim imgPath As String
    Dim wsShell As Object

    ' 이미지 파일 경로 설정
    imgPath = "C:\Path\To\Your\Image.jpg"

    ' Shell 객체 생성
    Set wsShell = CreateObject("WScript.Shell")

    ' 이미지 파일 열기
    wsShell.Run Chr(34) & imgPath & Chr(34)
    Application.Wait (Now + TimeValue("0:00:02")) ' 이미지 파일이 열리기를 기다립니다.

    ' 이미지 파일을 복사합니다.
    wsShell.SendKeys "^a", True ' 전체 선택 (Ctrl + A)
    Application.Wait (Now + TimeValue("0:00:01"))
    wsShell.SendKeys "^c", True ' 복사 (Ctrl + C)
    Application.Wait (Now + TimeValue("0:00:01"))

    ' 카카오톡 창 활성화
    AppActivate "카카오톡"
    Application.Wait (Now + TimeValue("0:00:01"))

    ' 카카오톡 대화창으로 이동 (여기서는 예시로 첫 번째 채팅방)
    wsShell.SendKeys "^l", True ' 채팅방 리스트로 이동 (Ctrl + L)
    Application.Wait (Now + TimeValue("0:00:01"))
    wsShell.SendKeys "{TAB}", True ' 첫 번째 채팅방으로 이동
    Application.Wait (Now + TimeValue("0:00:01"))
    wsShell.SendKeys "~", True ' 채팅방 열기 (Enter)
    Application.Wait (Now + TimeValue("0:00:01"))

    ' 이미지 붙여넣기 및 전송
    wsShell.SendKeys "^v", True ' 붙여넣기 (Ctrl + V)
    Application.Wait (Now + TimeValue("0:00:01"))
    wsShell.SendKeys "~", True ' 전송 (Enter)

    ' 다시 엑셀로 포커스 이동
    AppActivate Application.Caption
End Sub

 

 

엑셀매크로에서 Rest API

Sub GetRequestExample()
    Dim xmlhttp As Object
    Dim url As String
    Dim response As String

    ' MSXML2.XMLHTTP 객체 생성
    Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
    
    ' API URL 설정
    url = "https://api.example.com/data"

    ' GET 요청 초기화
    xmlhttp.Open "GET", url, False
    ' 요청 헤더 설정 (필요한 경우)
    xmlhttp.setRequestHeader "Content-Type", "application/json"
    
    ' 요청 보내기
    xmlhttp.send
    
    ' 응답 받기
    response = xmlhttp.responseText
    
    ' 응답 출력
    MsgBox response
    
    ' 객체 해제
    Set xmlhttp = Nothing
End Sub



Sub PostRequestExample()
    Dim xmlhttp As Object
    Dim url As String
    Dim postData As String
    Dim response As String

    ' MSXML2.XMLHTTP 객체 생성
    Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
    
    ' API URL 설정
    url = "https://api.example.com/data"
    
    ' POST 데이터 설정 (JSON 형식 예시)
    postData = "{""name"":""John"",""age"":30}"

    ' POST 요청 초기화
    xmlhttp.Open "POST", url, False
    ' 요청 헤더 설정
    xmlhttp.setRequestHeader "Content-Type", "application/json"
    
    ' 요청 보내기
    xmlhttp.send postData
    
    ' 응답 받기
    response = xmlhttp.responseText
    
    ' 응답 출력
    MsgBox response
    
    ' 객체 해제
    Set xmlhttp = Nothing
End Sub

 

 

다운로드 이미지 예제

Sub DownloadFile()
    Dim http As Object
    Dim url As String
    Dim localFilePath As String
    Dim binaryStream As Object

    ' 다운로드할 파일의 URL
    url = "http://localhost:8080/download/file"

    ' 저장할 파일 경로
    localFilePath = "C:\path\to\save\downloadedfile.ext"

    ' Create XMLHTTP object
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.send

    If http.Status = 200 Then
        If Not IsNull(http.responseBody) And LenB(http.responseBody) > 0 Then
            ' Create binary stream object
            Set binaryStream = CreateObject("ADODB.Stream")
            binaryStream.Type = 1 ' Binary
            binaryStream.Open
            binaryStream.Write http.responseBody
            binaryStream.SaveToFile localFilePath, 2 ' Save binary data to file
            binaryStream.Close
            MsgBox "File downloaded successfully!"
        Else
            MsgBox "The server returned null or empty response."
        End If
    Else
        MsgBox "Failed to download file. Status: " & http.Status
    End If

    ' Clean up
    Set http = Nothing
    Set binaryStream = Nothing
End Sub
Posted by yongary
,

git 복사 (미러링)

기타 2023. 11. 18. 22:59

Git 저장소의 히스토리를 포함하여 복사해서 다른 저장소로 옮기는 방법

 

1. 기존 저장소를 --mirror로 받는다.
$git clone --mirror <기존_저장소_URL>

 

2. 새 저장소를 만들고 그 URL을 얻은 다음..

 

3. $cd 기존_저장소_URL
    $git push --mirror <새_저장소_URL> 

 

 

Posted by yongary
,

git submodule

기타 2023. 11. 18. 22:51

1 서브모듈 추가하고 싶은 폴더로 가서 

$git submodule add https://github.com/example/submodule.git path/to/submodule

 

2 변경 사항 커밋: 서브모듈을 추가한 후, .gitmodules 파일과 서브모듈 디렉토리에 대한 변경 사항을 커밋합니다.

git add .
git commit -m "Add submodule"

 

3. git push

 

========= 

전체 pull 하고 싶을때
최초한번

git submodule update --init --recursive

 

그 후 

git submodule update --remote --recursive

Posted by yongary
,

github

기타 2023. 11. 9. 22:23

 

ChatGPT

GitHub에서 특정 리포지토리를 clone하고 SSH 키를 설정하여 반복적으로 로그인하지 않도록 하는 방법은 다음과 같습니다:

  1. GitHub 계정 만들기 및 SSH 키 설정:
    • GitHub에 가입하려면 https://github.com/ 에서 가입 프로세스를 따릅니다.
    • 계정을 만들었다면, 로그인하세요.
    • SSH 키를 생성하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다:이 명령에서 "your_email@example.com" 부분을 본인의 이메일 주소로 바꿉니다. 키 생성 중에 암호를 설정하라는 메시지가 나오면 암호를 설정하세요. 암호는 SSH 키를 사용할 때 필요할 수 있습니다.
    • mathematicaCopy code
      $ssh-keygen -t ed25519 -C "your_email@example.com"
    • 키 생성이 완료되면, 공개 키를 GitHub에 추가해야 합니다. 터미널에서 다음 명령으로 공개 키를 복사합니다:
    • bashCopy code
      $cat ~/.ssh/id_ed25519.pub
      ==> 공개키는  한 줄이며 ssh-ed25519 AAA로 시작하고 이메일로 끝납니다.
      • 공개 키를 클립보드에 복사한 후, GitHub 계정 설정 페이지로 이동하여 "SSH and GPG keys" 섹션에 공개 키를 추가합니다.
  2. 리포지토리 Clone:
    • SSH 키가 GitHub에 등록되었으면, 해당 리포지토리를 clone할 수 있습니다. 터미널에서 다음 명령을 사용하여 리포지토리를 clone합니다:여기서 사용자명과 리포지토리명을 실제 사용자명과 리포지토리 이름으로 바꿉니다.
    • scssCopy code
      $git clone git@github.com:사용자명/리포지토리명.git
Posted by yongary
,