ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Microsoft Power Fx 란?
    정보
    2023. 8. 16. 02:00

    Mirosoft Power Platform 에서 사용하는 언어가 있는 데, 그것을 Microsoft Power Fx라고 표현을 합니다.

    Power Fx 는 마이크로소프트 Power Platform 전체에서 논리를 표현하기 위한 자유로운 오픈 소스 이며 로우코드로 구성된 범용 프로그래밍 언어 입니다.

     

    Ignite 2021에서 처음으로 발표가 되었으며, 2021년 3월에 처음으로 출시가 되었다고 합니다.

    파워Fx는 스프레드시트와 같은 공식을 근거로 하고 있으며, 많은 사람들이 쉽게 접근하고 사용할 수 있도록 구성이 되어 있습니다. 또, Pascal, Mathematica, Miranda 등의 프로그래밍 언어와 도구로부터 영향을 받아 제작이 되었다고 합니다.

     

    마이크로소프트는 이 프로그래밍 언어를 설명할 때 스프레드시트 패러다임을 차용했음을 밝히고 있습니다.

    스프레드시트에서는 셀에 다른 셀의 내용을 참조하여 활용할 수 있는 수식을 포함하여 구동 될 수 있습니다.

    사용자가 셀의 내용을 변경하게 되면 수식이 포함되어있는 다른 셀틀의 값이 자동으로 계산되어 업데이트가 되는 방식입니다. 마찬가지로 Power Fx 프로그램의 속성은 수식으로 연결이 되며 변경이 발생되면 해당 값이 자동으로 업데이트가 됩니다.

     

    첫번째 공식언어는 탕그램과 시나 프로젝트의 일부로 비제이 미탈, 로빈 아브라함, 숀 카첸버거 대릴 루빈이 이끄는 마이크로소프트 팀에 의해 생성이 되었다고 합니다. 이후 Power Apps의 구성원인 그레그 린드호스와 마이크 스탈이 현재의 언어인 Power Fx로 향상시키는데 주도를 했다고 합니다.

     

    Visual Basic for Applications.

     

    VBA는 Visual Basic for Application 의 약자로서 Desktop Microsoft Office응용 프로그램에 기본으로 제공되는 이벤트 기반 프로그래밍 언어인 Visual Basic 6.0 을 구현한 것이라고 합니다.

    VBA를 사용하게 되면 사용자 정의 함수(UDF)를 빌드하고, 프로세스를 자동화 하고, 동적 연결 라이브러리(DLL)을 통해 Window API 및 기타 하위 수준기능에 접근을 할 수 있다고 합니다.

    Word의 WordBASIC과 같은 이전 응용 프로그램별 매크로 프로그래밍 언어의 기능을 확장하고 대체합니다. 이 도구는 메뉴 및 도구 모음과 같은 사용자 인터페이스 기능조작, 사용자 폼 또는 대화상자작업 등 (호스트) 응용 프로그램을 여러측면에서 제어하는데 사용할 수 있다고 합니다.

     

    VBA는 Visual Basic과 밀접한 관련이 있습니다. Visual Basic 런타임라이브러리를 사용하지만 코드는 일반적으로 독립 실행형 프로그램이 아닌 호스트 응용 프로그램 내에서만 실행할 수 있게 됩니다.

    OLE자동화를 사용하여 응용 프로그램을 다른 응용 프로그램에서 제아 할 수 있습니다. 즉, EXCEL이 폴링 된 센서에서 자동으로 수집하는 Excel 데이터에서 Word 보고서를 자동으로 만들 수 있는 방식입니다.

     

    호스트 응용 프로그램과의 상호작용을 위해서는 OLE자동화가 사용됩니다. 호스트 응용 프로그램에서는 VBA 프로그램이 으용 프로그램과 상호작용하는 방법을 설명하는 형식 라이브러리 및 API설명서를 제공합니다.

    이설명서는 VBA 개발 환경 내에서 개체 브라우저를 사용하여 검토 할 수 있게 됩니다.

     

    OLE 자동화 인터페이스가 다른 원인으로 해당 응용 프로그램이 Visual Basic 런타임을 호스트하는 경우에도 한 응용 프로그램의 OLE자동화 인터페이스를 사용하도록 작성된 VBA 프로그램을 사용하여 다른 응용 프로그램을 자동화 할 수 없습니다. 즉, Word를 자동화하기위하여 작성된 VBA 프로그램은 해당 워드 프로세사가 VBA를 호스트 하는 경우에도 다른 워드 프로세서와 함께 사용할 수 없습니다.

     

    반면, VBA코드 내에서 애플리케이션 개체를 만들어 하나의 호스트에서 여러 응용 프로그램을 자동화 할 수가 있는데 VBA클라이언트 내에서 다른 라이브러리에 대한 참조를 만들면 매서드나 개체 등을 응용프로그램에서 사용할 수 있게 된다고 합니다. 

    이것은 초기에 혹은 후기에 바인딩이라고 하는 것을 통해 진행이 됩니다. 이러한 응용프로그램 개체는 처음 만들 때 이에 대한 OLE링크를 만들어야 합니다. 다른 응용 프로그램에 대한 명령은 올바르게 작동하기 위해 이러한 응용 프로그램의 개체를 통해서 명시적으로 수행되어야 한다고 합니다.

     

    Microsoft Access로 작성된 VBA코드의 경우에는 엑셀, 워드, 아웃룩라이브러리 에 대한 참조를 설정할 수 있다고 합니다. 예로서 Access에서 Query를 실행하여, 결과를 Excel로 보내고, 분석한 뒤 출력을 word에서의 Table로 서식을 지정하거나 아웃룩 전자 메일을 이용해서 내보내는 응용 프로그램을 만들 수 있게 된다고 합니다.

     

    프로세스 간 통신 자동화를 위해서는 동적 혹은 실시간 재무 또는 과학데이터를 위해 구성요소개체모델 자동화 서버를 호출 할 수 있는 동적 데이터 교환 혹은 실시간 데이터 교환 이 포함된다고 합니다.

     

    VBA프로그램은 메뉴 단추나 매트로, 바로가기 키 등 혹은 응용 프로그램에서 문자 열기 같은 OLE or COM 이벤트에 연결 할 수 있게 된다고 하빈다. 이 언어의 경우에는 추가적인 기능을 위해 Active X control 을 호스팅 할 수 있는 사용자 정의 폼 형식의 인터페이스를 제공합니다.

     

     

     

Designed by Tistory.