diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js
index 4b87a9f2cad212a0749d75831c7fd94ec7026b17..ce1ca88b1de9c53d46165c8e9fa0613836a3a6eb 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js
@@ -134,6 +134,7 @@ export class SchedulingSetCreate extends Component {
             priorityQueuelist: null,
         };
         
+        this.isMacOS = false;
         this.gridApi = '';
         this.gridColumnApi = '';
         this.topGridApi = '';
@@ -2264,18 +2265,27 @@ export class SchedulingSetCreate extends Component {
      * @param {*} e 
      */
     async clipboardEvent(e){
+        let isError = false;
+        if (navigator.appVersion.indexOf("Mac") >= 0) {
+            this.isMacOS = true;           
+        }
         var key = e.which || e.keyCode;
-        var ctrl = e.ctrlKey ? e.ctrlKey : ((key === 17 || key === 91) ? true : false);
+        var ctrl = e.ctrlKey ? e.ctrlKey : ((key === 17 || key === 91 || key === 224) ? true : false);
         if ( ctrl && (key === 67 || key === 45) ) {     //Ctrl+C(Windows & linux) or Cmd+C(Mac) or Ctrl+Insert(windows & linux)
             this.copyToClipboard();
         } 
         else if ( (ctrl && key === 86) || (e.shiftKey && key === 45) ) {    // Ctrl+V(windows & linux) or Cmd+V or Shift+Insert(windows & linux)
-            try {
-                var clipText = await this.readClipBoard();
-                await this.setState({clipText: clipText});
-                this.copyFromClipboard();
-            }   catch(error) {
-                //this.setState({disabled: 'none'})
+           if (!this.isMacOS) {
+                try { 
+                    var clipText = await this.readClipBoard();
+                    await this.setState({clipText: clipText});
+                    this.copyFromClipboard();
+                }   catch(error) {
+                    isError = true;
+                }
+           }   
+           
+           if (this.isMacOS || isError) {
                 this.callBackFunction = this.copyFromClipboard;
                 this.onCancel = () => {
                     this.setState({confirmDialogVisible: false, clipText: ''});
@@ -2297,7 +2307,9 @@ export class SchedulingSetCreate extends Component {
                 if(document.getElementById("clipTextField")) {
                     document.getElementById("clipTextField").focus();
                 }
-                setTimeout(this.copyFromClipboard, 1);
+                if (!this.isMacOS) {
+                    setTimeout(this.copyFromClipboard, 1);
+                }
             }
         }
     }
@@ -2798,7 +2810,7 @@ export class SchedulingSetCreate extends Component {
                 }
                 <CustomDialog type={this.dialogType} visible={this.state.confirmDialogVisible} width={this.dialogWidth} height={this.dialogHeight}
                     header={this.dialogHeader} message={this.dialogMsg} 
-                    opacity={this.dialogHeader.startsWith("Paste")?0:1}
+                    opacity={this.dialogHeader.startsWith("Paste")?(this.isMacOS?1:0):1}
                     content={this.dialogContent} onClose={this.onClose} 
                     onCancel={this.onCancel} onSubmit={this.callBackFunction}
                     showIcon={this.showIcon} actions={this.actions}>